Repository: openmeetings Updated Branches: refs/heads/master cb0294886 -> 28cac665b
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java index 380932e..b573a93 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java @@ -26,15 +26,13 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import java.util.ArrayList; import java.util.Calendar; -import java.util.Date; import java.util.List; import java.util.TimeZone; +import org.apache.openmeetings.core.notifier.NotifierService; import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.calendar.AppointmentDao; import org.apache.openmeetings.db.dao.calendar.MeetingMemberDao; -import org.apache.openmeetings.db.dao.label.LabelDao; -import org.apache.openmeetings.db.dao.room.IInvitationManager; import org.apache.openmeetings.db.dao.room.InvitationDao; import org.apache.openmeetings.db.dao.room.RoomDao; import org.apache.openmeetings.db.dao.user.UserDao; @@ -42,17 +40,16 @@ import org.apache.openmeetings.db.entity.calendar.Appointment; import org.apache.openmeetings.db.entity.calendar.Appointment.Reminder; import org.apache.openmeetings.db.entity.calendar.MeetingMember; import org.apache.openmeetings.db.entity.room.Invitation; -import org.apache.openmeetings.db.entity.room.Invitation.MessageType; import org.apache.openmeetings.db.entity.room.Room; import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.util.TimezoneUtil; -import org.apache.openmeetings.service.mail.template.subject.AbstractSubjectEmailTemplate; -import org.apache.openmeetings.service.mail.template.subject.AppointmentReminderTemplate; import org.apache.wicket.util.string.Strings; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +@Component public class AppointmentLogic { private static final Logger log = Red5LoggerFactory.getLogger(AppointmentLogic.class, webAppRootKey); @@ -63,8 +60,6 @@ public class AppointmentLogic { @Autowired private RoomDao roomDao; @Autowired - private IInvitationManager invitationManager; - @Autowired private TimezoneUtil timezoneUtil; @Autowired private InvitationDao invitationDao; @@ -72,6 +67,8 @@ public class AppointmentLogic { private UserDao userDao; @Autowired private MeetingMemberDao meetingMemberDao; + @Autowired + private NotifierService notifierService; // -------------------------------------------------------------------------------------------- @@ -85,26 +82,8 @@ public class AppointmentLogic { } private void sendReminder(User u, Appointment a, Invitation inv) throws Exception { - if (inv == null) { - log.error(String.format("Error retrieving Invitation for member %s in Appointment %s" - , u.getAddress().getEmail(), a.getTitle())); - return; - } - - TimeZone tz = timezoneUtil.getTimeZone(u.getTimeZoneId()); - - long langId = u.getLanguageId(); - // Get the required labels one time for all meeting members. The - // Language of the email will be the system default language - - String smsSubject = generateSMSSubject(LabelDao.getString("1158", langId), a); - - AbstractSubjectEmailTemplate t = AppointmentReminderTemplate.get(u, a, tz); - invitationManager.sendInvitationLink(inv, MessageType.Create, t.getSubject(), t.getEmail(), false); - - invitationManager.sendInvitationReminderSMS(u.getAddress().getPhone(), smsSubject, langId); + notifierService.notify(u, a, inv); if (inv.getHash() != null) { - inv.setUpdated(new Date()); invitationDao.update(inv); } } @@ -175,11 +154,6 @@ public class AppointmentLogic { } } - private String generateSMSSubject(String labelid1158, Appointment ment) { - String subj = cfgDao.getString("sms.subject", null); - return subj == null || subj.length() == 0 ? labelid1158 + " " + ment.getTitle() : subj; - } - public Appointment getAppointment(String appointmentName, String appointmentLocation, String appointmentDescription, Calendar appointmentstart, Calendar appointmentend, http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java index 59133e3..ff3fb4d 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java @@ -72,6 +72,7 @@ import net.fortuna.ical4j.model.property.Version; * Class which provides iCalendar Utilities. * This class's functions could be made static, as they are not instantiated anyway. */ +@org.springframework.stereotype.Component public class iCalUtils { private static final Logger log = Red5LoggerFactory.getLogger(iCalUtils.class, webAppRootKey); public static final String PROD_ID = "-//Events Calendar//Apache Openmeetings//EN"; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java index eaaae1e..cd52067 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java @@ -34,11 +34,13 @@ import org.apache.wicket.request.mapper.parameter.PageParameters; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; /** * @author swagner * */ +@Component public class EmailManager { private static final Logger log = Red5LoggerFactory.getLogger(EmailManager.class, webAppRootKey); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/MailNotifier.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/MailNotifier.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/MailNotifier.java new file mode 100644 index 0000000..be2399a --- /dev/null +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/MailNotifier.java @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License") + you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.openmeetings.service.notifier; + +import java.util.TimeZone; + +import javax.annotation.PostConstruct; + +import org.apache.openmeetings.core.notifier.INotifier; +import org.apache.openmeetings.core.notifier.NotifierService; +import org.apache.openmeetings.db.dao.room.IInvitationManager; +import org.apache.openmeetings.db.entity.calendar.Appointment; +import org.apache.openmeetings.db.entity.room.Invitation; +import org.apache.openmeetings.db.entity.room.Invitation.MessageType; +import org.apache.openmeetings.db.entity.user.User; +import org.apache.openmeetings.db.util.TimezoneUtil; +import org.apache.openmeetings.service.mail.template.subject.AbstractSubjectEmailTemplate; +import org.apache.openmeetings.service.mail.template.subject.AppointmentReminderTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class MailNotifier implements INotifier { + @Autowired + private NotifierService notifier; + @Autowired + private IInvitationManager invitationManager; + @Autowired + private TimezoneUtil timezoneUtil; + + @PostConstruct + private void register() { + notifier.addNotifier(this); + } + + @Override + public void notify(User u, Appointment a, Invitation inv) throws Exception { + TimeZone tz = timezoneUtil.getTimeZone(u.getTimeZoneId()); + AbstractSubjectEmailTemplate t = AppointmentReminderTemplate.get(u, a, tz); + invitationManager.sendInvitationLink(inv, MessageType.Create, t.getSubject(), t.getEmail(), false); + } +} http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/TextNotifier.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/TextNotifier.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/TextNotifier.java new file mode 100644 index 0000000..35f2df0 --- /dev/null +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/TextNotifier.java @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License") + you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.openmeetings.service.notifier; + +import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REMINDER_MESSAGE; +import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; + +import javax.annotation.PostConstruct; + +import org.apache.openmeetings.core.notifier.INotifier; +import org.apache.openmeetings.core.notifier.NotifierService; +import org.apache.openmeetings.db.dao.basic.ConfigurationDao; +import org.apache.openmeetings.db.dao.label.LabelDao; +import org.apache.openmeetings.db.entity.calendar.Appointment; +import org.apache.openmeetings.db.entity.room.Invitation; +import org.apache.openmeetings.db.entity.user.User; +import org.apache.wicket.util.string.Strings; +import org.red5.logging.Red5LoggerFactory; +import org.slf4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.task.TaskExecutor; +import org.springframework.stereotype.Component; + +@Component +public class TextNotifier implements INotifier { + private static final Logger log = Red5LoggerFactory.getLogger(TextNotifier.class, webAppRootKey); + @Autowired + private NotifierService notifier; + @Autowired + protected TaskExecutor taskExecutor; + @Autowired + protected ConfigurationDao cfgDao; + + @PostConstruct + private void register() { + notifier.addNotifier(this); + } + + @Override + public void notify(User u, Appointment a, Invitation inv) throws Exception { + if (u.getAddress() == null || Strings.isEmpty(u.getAddress().getPhone())) { + log.debug("User has no Phone, skip sending notification"); + return; + } + final String phone = u.getAddress().getPhone(); + String msg = cfgDao.getString(CONFIG_REMINDER_MESSAGE, null); + if (Strings.isEmpty(msg)) { + msg = String.format("%s %s", LabelDao.getString("1158", u.getLanguageId()), a.getTitle()); + } + final String reminderMsg = msg; + taskExecutor.execute(() -> { + log.debug("Sending Text to: {}, msg is: {}", phone, reminderMsg); + }); + } +} http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/ReminderJob.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/ReminderJob.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/ReminderJob.java index c99107b..13edce1 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/ReminderJob.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/ReminderJob.java @@ -30,7 +30,9 @@ import org.apache.openmeetings.util.InitializationContainer; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +@Component("reminderJob") public class ReminderJob extends AbstractJob { private static Logger log = Red5LoggerFactory.getLogger(ReminderJob.class, webAppRootKey); @Autowired http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java index a4bf382..ebc0a5e 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java @@ -30,7 +30,6 @@ import java.util.UUID; import org.apache.openmeetings.IApplication; import org.apache.openmeetings.core.mail.MailHandler; -import org.apache.openmeetings.core.mail.SMSHandler; import org.apache.openmeetings.db.dao.room.IInvitationManager; import org.apache.openmeetings.db.dao.room.InvitationDao; import org.apache.openmeetings.db.entity.basic.MailMessage; @@ -55,12 +54,14 @@ import org.apache.wicket.util.string.Strings; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; /** * * @author swagner * */ +@Component public class InvitationManager implements IInvitationManager { private static final Logger log = Red5LoggerFactory.getLogger(InvitationManager.class, webAppRootKey); @@ -69,8 +70,6 @@ public class InvitationManager implements IInvitationManager { @Autowired private MailHandler mailHandler; @Autowired - private SMSHandler smsHandler; - @Autowired private TimezoneUtil timezoneUtil; /** @@ -150,25 +149,6 @@ public class InvitationManager implements IInvitationManager { } /** - * This method sends invitation reminder SMS - * @param phone user's phone - * @param subject - * @return - */ - @Override - public boolean sendInvitationReminderSMS(String phone, String subject, long languageId) { - if (!Strings.isEmpty(phone)) { - log.debug("sendInvitationReminderSMS to " + phone + ": " + subject); - try { - return smsHandler.sendSMS(phone, subject, languageId); - } catch (Exception e) { - log.error("sendInvitationReminderSMS", e); - } - } - return false; - } - - /** * @author vasya * * @param member http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java index 34d0c6c..4b5b0af 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java @@ -63,12 +63,14 @@ import org.red5.logging.Red5LoggerFactory; import org.red5.server.api.scope.IScope; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; /** * * @author swagner * */ +@Component public class UserManager implements IUserManager { private static final Logger log = Red5LoggerFactory.getLogger(UserManager.class, webAppRootKey); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java ---------------------------------------------------------------------- diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java index b8cc1f6..7fa53a5 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java @@ -85,6 +85,7 @@ public class OpenmeetingsVariables { public static final String CONFIG_KEYCODE_EXCLUSIVE = "exclusive.audio.keycode"; public static final String CONFIG_KEYCODE_MUTE = "mute.keycode"; public static final String CONFIG_MYROOMS_ENABLED = "personal.rooms.enabled"; + public static final String CONFIG_REMINDER_MESSAGE = "reminder.message"; public static final String HEADER_XFRAME_SAMEORIGIN = "SAMEORIGIN"; public static final String HEADER_CSP_SELF = "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:;"; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java ---------------------------------------------------------------------- diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java index 31fb980..0a5592d 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java @@ -111,14 +111,14 @@ public class IcalHandler { // --------------------------------------------------------------------------------------- public String addNewMeeting(Date startDate, Date endDate, String name, List<Map<String, String>> attendees, String description, - Map<String, String> organizer, String uid, String javaTzId) throws Exception + Map<String, String> organizer, String uid, String javaTzId) { TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry(); TimeZone timeZone = registry.getTimeZone(javaTzId); if (timeZone == null) { - throw new Exception("Unable to get time zone by id provided: " + javaTzId); + throw new RuntimeException("Unable to get time zone by id provided: " + javaTzId); } DateTime start = new DateTime(startDate); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml index f0d267c..bad459e 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml @@ -40,21 +40,6 @@ <context:annotation-config /> <context:component-scan base-package="org.apache.openmeetings" /> - <!-- Start of Services exposed to red5 --> - <bean id="web.handler" class="org.apache.openmeetings.core.remote.ScopeApplicationAdapter" /> - <bean id="mobile.service" class="org.apache.openmeetings.core.remote.MobileService" /> - <!-- End of Services exposed to red5 --> - - <bean id="mainservice" class="org.apache.openmeetings.core.remote.MainService" /> - <bean id="recordingservice" class="org.apache.openmeetings.core.remote.RecordingService" /> - <bean id="openmeetings.SessionManager" class="org.apache.openmeetings.core.session.SessionManager"/> - <bean id="openmeetings.FileProcessor" class="org.apache.openmeetings.core.data.file.FileProcessor" /> - <bean id="openmeetings.FlvExplorerConverter" class="org.apache.openmeetings.core.converter.FlvExplorerConverter" /> - <bean id="openmeetings.RecordingConverterTask" class="org.apache.openmeetings.core.data.record.converter.RecordingConverterTask" /> - <bean id="openmeetings.InterviewConverterTask" class="org.apache.openmeetings.core.data.record.converter.InterviewConverterTask" /> - <bean id="openmeetings.InterviewConverter" class="org.apache.openmeetings.core.converter.InterviewConverter" /> - <bean id="openmeetings.RecordingConverter" class="org.apache.openmeetings.core.converter.RecordingConverter" /> - <!-- 5000 == 5 sec 300000 == 5 min @@ -91,7 +76,6 @@ <bean id="triggerCleanExpiredResetHash" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean" p:jobDetail-ref="cleanExpiredResetHashJobDetails" p:startDelay="5000" p:repeatInterval="3600000" /> - <bean id="reminderJob" class="org.apache.openmeetings.service.quartz.scheduler.ReminderJob"/> <bean id="meetingReminderJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" p:targetObject-ref="reminderJob" p:targetMethod="remindMeetings" p:concurrent="false" /> <bean id="triggerMeetingReminder" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean" @@ -102,7 +86,6 @@ p:jobDetail-ref="expiringRecordingJobDetail" p:startDelay="5000" p:repeatInterval="3600000"/> <!-- Mail related jobs --> - <bean id="mailHandler" class="org.apache.openmeetings.core.mail.MailHandler" /> <bean id="resetSendingMailStatus" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" p:targetObject-ref="mailHandler" p:targetMethod="resetSendingStatus" p:concurrent="false" /> <bean id="triggerResetSendingMailStatus" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean" @@ -130,7 +113,6 @@ <!-- End of Services --> <!-- Interface Transactional --> - <bean id="roomDao" class="org.apache.openmeetings.db.dao.room.RoomDao"/> <bean id="sipDao" class="org.apache.openmeetings.db.dao.room.SipDao"> <!-- Should be uncommented and updated with real values for Asterisk <constructor-arg index="0" value="127.0.0.1"/> @@ -141,50 +123,8 @@ <property name="uid" value="87dddad4-9ca5-475b-860f-2e0825d02b76"/> --> </bean> - <bean id="invitationDao" class="org.apache.openmeetings.db.dao.room.InvitationDao" /> - <bean id="groupDao" class="org.apache.openmeetings.db.dao.user.GroupDao" /> - <bean id="groupUserDao" class="org.apache.openmeetings.db.dao.user.GroupUserDao" /> - <bean id="pollDao" class="org.apache.openmeetings.db.dao.room.PollDao" /> - <bean id="labelDao" class="org.apache.openmeetings.db.dao.label.LabelDao" /> - <bean id="configurationDao" class="org.apache.openmeetings.db.dao.basic.ConfigurationDao" /> - <bean id="appointmentDao" class="org.apache.openmeetings.db.dao.calendar.AppointmentDao" /> - <bean id="sessionDao" class="org.apache.openmeetings.db.dao.server.SessiondataDao" /> - <bean id="roomModeratorDao" class="org.apache.openmeetings.db.dao.room.RoomModeratorDao" /> - <bean id="roomGroupDao" class="org.apache.openmeetings.db.dao.room.RoomGroupDao"/> - <bean id="conferenceLogDao" class="org.apache.openmeetings.db.dao.log.ConferenceLogDao" /> - <bean id="fileItemLogDao" class="org.apache.openmeetings.db.dao.file.FileItemLogDao" /> - <bean id="fileItemDao" class="org.apache.openmeetings.db.dao.file.FileItemDao" /> - <bean id="recordingDao" class="org.apache.openmeetings.db.dao.record.RecordingDao" /> - <bean id="recordingMetaDataDao" class="org.apache.openmeetings.db.dao.record.RecordingMetaDataDao" /> - <bean id="recordingMetaDeltaDao" class="org.apache.openmeetings.db.dao.record.RecordingMetaDeltaDao" /> - <bean id="ldapConfigDao" class="org.apache.openmeetings.db.dao.server.LdapConfigDao" /> - <bean id="meetingMemberDao" class="org.apache.openmeetings.db.dao.calendar.MeetingMemberDao" /> - <bean id="privateMessageFolderDao" class="org.apache.openmeetings.db.dao.user.PrivateMessageFolderDao" /> - <bean id="privateMessageDao" class="org.apache.openmeetings.db.dao.user.PrivateMessageDao" /> - <bean id="soapLoginDao" class="org.apache.openmeetings.db.dao.server.SOAPLoginDao" /> - <bean id="userContactDao" class="org.apache.openmeetings.db.dao.user.UserContactDao" /> - <bean id="userDao" class="org.apache.openmeetings.db.dao.user.UserDao" /> - <bean id="chatDao" class="org.apache.openmeetings.db.dao.basic.ChatDao" /> - <bean id="mailMessageDao" class="org.apache.openmeetings.db.dao.basic.MailMessageDao" /> - <bean id="oauth2Dao" class="org.apache.openmeetings.db.dao.server.OAuth2Dao" /> - <bean id="omCalendarDao" class="org.apache.openmeetings.db.dao.calendar.OmCalendarDao" /> - - <bean id="userManager" class="org.apache.openmeetings.service.user.UserManager" /> - <bean id="appointmentLogic" class="org.apache.openmeetings.service.calendar.AppointmentLogic" /> - <bean id="emailManagement" class="org.apache.openmeetings.service.mail.EmailManager" /> - <bean id="invitationManagement" class="org.apache.openmeetings.service.room.InvitationManager" /> - <!-- No Interface --> - <bean id="imageConverter" class="org.apache.openmeetings.core.converter.ImageConverter" /> - <bean id="documentConverter" class="org.apache.openmeetings.core.converter.DocumentConverter" /> - <bean id="smsHandler" class="org.apache.openmeetings.core.mail.SMSHandler" /> - <bean id="importInitvalues" class="org.apache.openmeetings.installation.ImportInitvalues" /> - <bean id="ldapLoginManagement" class="org.apache.openmeetings.core.ldap.LdapLoginManagement" /> - <bean id="timezoneUtil" class="org.apache.openmeetings.db.util.TimezoneUtil" /> - <bean id="backupExport" class="org.apache.openmeetings.backup.BackupExport" /> - <bean id="backupImport" class="org.apache.openmeetings.backup.BackupImport" /> <bean id="appointmentManager" class="org.apache.openmeetings.service.calendar.caldav.AppointmentManager" destroy-method="destroy"/> - <bean id="iCalUtils" class="org.apache.openmeetings.service.calendar.caldav.iCalUtils"/> <!-- Thread Executor --> <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-web/src/main/webapp/WEB-INF/classes/cxf-servlet.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/cxf-servlet.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/cxf-servlet.xml index 4475d20..6fcee68 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/cxf-servlet.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/cxf-servlet.xml @@ -20,10 +20,12 @@ --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:context="http://www.springframework.org/schema/context" xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd" > @@ -31,15 +33,8 @@ <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> - <bean id="calendarWebService" class="org.apache.openmeetings.webservice.CalendarWebService" /> - <bean id="errorWebService" class="org.apache.openmeetings.webservice.ErrorWebService" /> - <bean id="fileWebService" class="org.apache.openmeetings.webservice.FileWebService" /> - <bean id="groupWebService" class="org.apache.openmeetings.webservice.GroupWebService" /> - <bean id="infoWebService" class="org.apache.openmeetings.webservice.InfoWebService" /> - <bean id="recordWebService" class="org.apache.openmeetings.webservice.RecordingWebService" /> - <bean id="roomWebService" class="org.apache.openmeetings.webservice.RoomWebService" /> - <bean id="userWebService" class="org.apache.openmeetings.webservice.UserWebService"/> - <bean id="netTestWebService" class="org.apache.openmeetings.webservice.NetTestWebService" /> + <context:annotation-config /> + <context:component-scan base-package="org.apache.openmeetings.webservice" /> <!-- (writeXsiType=false) --> <jaxrs:server id="server" address="/"> @@ -49,10 +44,10 @@ <ref bean="fileWebService"/> <ref bean="groupWebService"/> <ref bean="infoWebService"/> + <ref bean="netTestWebService"/> <!-- JaxRs only --> <ref bean="recordWebService"/> <ref bean="roomWebService"/> <ref bean="userWebService"/> - <ref bean="netTestWebService"/> <!-- JaxRs only --> </jaxrs:serviceBeans> <jaxrs:providers> <bean id="appDtoMessageBodyWriter" class="org.apache.openmeetings.webservice.util.AppointmentMessageBodyWriter" /> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml index 3c55b02..d20f62c 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml @@ -23,7 +23,7 @@ <jmxConfigurator contextName="${current_openmeetings_context_name}" /> - <appender name="FLOG2" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>log/${current_openmeetings_context_name}.log</File> <Append>false</Append> <Encoding>UTF-8</Encoding> @@ -45,7 +45,7 @@ <maxHistory>50</maxHistory> </rollingPolicy> </appender> - <appender name="CONSOLE2" class="ch.qos.logback.core.ConsoleAppender"> + <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%5p %d{MM-dd HH:mm:ss.SSS } %r %L %c{15} [%.15thread] - %m%n</pattern> </layout> @@ -59,7 +59,7 @@ <logger name="org.apache.mina.filter.ssl.SslFilter" level="ERROR" /> <logger name="org.apache.wicket" level="WARN" /> <root level="DEBUG"> - <appender-ref ref="FLOG2" /> - <appender-ref ref="CONSOLE2" /> + <appender-ref ref="FILE" /> + <appender-ref ref="CONSOLE" /> </root> </configuration> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-web/src/main/webapp/WEB-INF/red5-web.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/red5-web.xml b/openmeetings-web/src/main/webapp/WEB-INF/red5-web.xml index a3e0aa2..4723baf 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/red5-web.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/red5-web.xml @@ -29,7 +29,7 @@ <bean id="web.context" class="org.red5.server.Context" autowire="byType" /> - <bean id="web.scope" class="org.red5.server.scope.WebScope" init-method="register"> + <bean id="web.scope" class="org.red5.server.scope.WebScope"> <property name="server" ref="red5.server" /> <property name="parent" ref="global.scope" /> <property name="context" ref="web.context" /> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java index 880d01a..f01512d 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java @@ -54,6 +54,7 @@ import org.apache.openmeetings.db.util.AuthLevelUtil; import org.apache.openmeetings.webservice.error.ServiceException; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; +import org.springframework.stereotype.Service; /** * CalendarService contains methods to create, edit delete calendar meetings @@ -61,6 +62,7 @@ import org.slf4j.Logger; * @author sebawagner * */ +@Service("calendarWebService") @WebService(serviceName="org.apache.openmeetings.webservice.CalendarWebService", targetNamespace = TNS) @Features(features = "org.apache.cxf.feature.LoggingFeature") @Produces({MediaType.APPLICATION_JSON}) http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java index 2366082..b58ad4e 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java @@ -39,6 +39,7 @@ import org.apache.openmeetings.db.dto.basic.ServiceResult.Type; import org.apache.openmeetings.db.entity.server.Sessiondata; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; +import org.springframework.stereotype.Service; /** * @@ -47,6 +48,7 @@ import org.slf4j.Logger; * @author solomax * */ +@Service("errorWebService") @WebService(serviceName="org.apache.openmeetings.webservice.ErrorWebService", targetNamespace = TNS) @Features(features = "org.apache.cxf.feature.LoggingFeature") @Produces({MediaType.APPLICATION_JSON}) http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java index 1afcef2..9d530f3 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java @@ -56,6 +56,7 @@ import org.apache.openmeetings.util.process.ConverterProcessResultList; import org.apache.openmeetings.webservice.error.ServiceException; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; +import org.springframework.stereotype.Service; /** * @@ -65,6 +66,7 @@ import org.slf4j.Logger; * @author sebawagner * */ +@Service("fileWebService") @WebService(serviceName="org.apache.openmeetings.webservice.FileWebService", targetNamespace = TNS) @Features(features = "org.apache.cxf.feature.LoggingFeature") @Produces({MediaType.APPLICATION_JSON}) http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java index 6960fc3..3a6dbfb 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java @@ -58,6 +58,7 @@ import org.apache.openmeetings.db.util.AuthLevelUtil; import org.apache.openmeetings.webservice.error.ServiceException; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; +import org.springframework.stereotype.Service; /** * @@ -67,6 +68,7 @@ import org.slf4j.Logger; * @author sebawagner * */ +@Service("groupWebService") @WebService(serviceName="org.apache.openmeetings.webservice.GroupWebService", targetNamespace = TNS) @Features(features = "org.apache.cxf.feature.LoggingFeature") @Produces({MediaType.APPLICATION_JSON}) http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java index 24a9816..2298998 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java @@ -29,14 +29,16 @@ import javax.ws.rs.core.MediaType; import org.apache.cxf.feature.Features; import org.apache.openmeetings.db.dto.basic.Info; +import org.springframework.stereotype.Service; /** - * + * * The Service contains methods to get localized errors - * + * * @author solomax - * + * */ +@Service("infoWebService") @WebService(serviceName="org.apache.openmeetings.webservice.InfoWebService", targetNamespace = TNS) @Features(features = "org.apache.cxf.feature.LoggingFeature") @Produces({MediaType.APPLICATION_JSON}) @@ -44,7 +46,7 @@ import org.apache.openmeetings.db.dto.basic.Info; public class InfoWebService { /** * Method to get current OpenMeetings version - * + * * @return - version */ @WebMethod http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java index 5c255be..1ec4e8b 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java @@ -38,67 +38,69 @@ import javax.ws.rs.core.Response.ResponseBuilder; import org.apache.cxf.jaxrs.ext.multipart.Multipart; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; +import org.springframework.stereotype.Service; +@Service("netTestWebService") @Path("/networktest") public class NetTestWebService { private static final Logger log = Red5LoggerFactory.getLogger(UserWebService.class, webAppRootKey); - enum TestType { - UNKNOWN, - PING, - JITTER, - DOWNLOAD_SPEED, - UPLOAD_SPEED - } + enum TestType { + UNKNOWN, + PING, + JITTER, + DOWNLOAD_SPEED, + UPLOAD_SPEED + } - private static final int PING_PACKET_SIZE = 64; - private static final int JITTER_PACKET_SIZE = 1024; - private static final int DOWNLOAD_PACKET_SIZE = 1024*1024; + private static final int PING_PACKET_SIZE = 64; + private static final int JITTER_PACKET_SIZE = 1024; + private static final int DOWNLOAD_PACKET_SIZE = 1024*1024; - private final byte[] pingData; - private final byte[] jitterData; - private final byte[] downloadData; + private final byte[] pingData; + private final byte[] jitterData; + private final byte[] downloadData; public NetTestWebService() { - pingData = new byte[PING_PACKET_SIZE]; - jitterData = new byte[JITTER_PACKET_SIZE]; - downloadData = new byte[DOWNLOAD_PACKET_SIZE]; + pingData = new byte[PING_PACKET_SIZE]; + jitterData = new byte[JITTER_PACKET_SIZE]; + downloadData = new byte[DOWNLOAD_PACKET_SIZE]; - Arrays.fill(pingData, (byte) '0'); - Arrays.fill(jitterData, (byte) '0'); - Arrays.fill(downloadData, (byte) '0'); + Arrays.fill(pingData, (byte) '0'); + Arrays.fill(jitterData, (byte) '0'); + Arrays.fill(downloadData, (byte) '0'); } @GET @Produces(MediaType.APPLICATION_OCTET_STREAM) @Path("/") public Response get(@QueryParam("type") String type) { - TestType testType = getTypeByString(type); - log.debug("Network test:: get"); - - // choose data to send - byte[] data = new byte[0]; - switch (testType) { - case PING: - data = pingData; - break; - case JITTER: - data = jitterData; - break; - case DOWNLOAD_SPEED: - data = downloadData; - break; + TestType testType = getTypeByString(type); + log.debug("Network test:: get"); + + // choose data to send + byte[] data = new byte[0]; + switch (testType) { + case PING: + data = pingData; + break; + case JITTER: + data = jitterData; + break; + case DOWNLOAD_SPEED: + data = downloadData; + break; case UPLOAD_SPEED: break; default: break; - } + } - ResponseBuilder response = Response.ok().type(MediaType.APPLICATION_OCTET_STREAM).entity(new ByteArrayInputStream(data)); - //response.header("Content-Disposition", "attachment; filename=test.png"); - response.header("Cache-Control", "no-cache"); - response.header("Content-Length", String.valueOf(data.length)); - return response.build(); - } + ResponseBuilder response = Response.ok().type(MediaType.APPLICATION_OCTET_STREAM).entity(new ByteArrayInputStream(data)); + //response.header("Content-Disposition", "attachment; filename=test.png"); + response.header("Cache-Control", "no-cache"); + response.header("Content-Length", String.valueOf(data.length)); + return response.build(); + } @POST @Consumes(MediaType.MULTIPART_FORM_DATA) @@ -106,20 +108,19 @@ public class NetTestWebService { public void upload(@Multipart(value = "stream", type = MediaType.APPLICATION_OCTET_STREAM) InputStream stream) throws IOException { byte[] b = new byte[1024]; while (stream.read(b) >= 0 ) {}; - } - - - private static TestType getTypeByString(String typeString) { - if ("ping".equals(typeString)) { - return TestType.PING; - } else if ("jitter".equals(typeString)) { - return TestType.JITTER; - } else if ("download".equals(typeString)) { - return TestType.DOWNLOAD_SPEED; - } else if ("upload".equals(typeString)) { - return TestType.UPLOAD_SPEED; - } + } - return TestType.UNKNOWN; - } + private static TestType getTypeByString(String typeString) { + if ("ping".equals(typeString)) { + return TestType.PING; + } else if ("jitter".equals(typeString)) { + return TestType.JITTER; + } else if ("download".equals(typeString)) { + return TestType.DOWNLOAD_SPEED; + } else if ("upload".equals(typeString)) { + return TestType.UPLOAD_SPEED; + } + + return TestType.UNKNOWN; + } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java index f51e473..aea9735 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java @@ -43,6 +43,7 @@ import org.apache.openmeetings.db.util.AuthLevelUtil; import org.apache.openmeetings.webservice.error.ServiceException; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; +import org.springframework.stereotype.Service; /** * @@ -51,6 +52,7 @@ import org.slf4j.Logger; * @author solomax * */ +@Service("recordWebService") @WebService(serviceName="org.apache.openmeetings.webservice.RecordingWebService", targetNamespace = TNS) @Features(features = "org.apache.cxf.feature.LoggingFeature") @Produces({MediaType.APPLICATION_JSON}) http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java index 397b3be..3b29664 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java @@ -63,6 +63,7 @@ import org.apache.openmeetings.webservice.error.ServiceException; import org.apache.wicket.Application; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; +import org.springframework.stereotype.Service; /** * RoomService contains methods to manipulate rooms and create invitation hash @@ -70,6 +71,7 @@ import org.slf4j.Logger; * @author sebawagner * */ +@Service("roomWebService") @WebService(serviceName="org.apache.openmeetings.webservice.RoomWebService", targetNamespace = TNS) @Features(features = "org.apache.cxf.feature.LoggingFeature") @Produces({MediaType.APPLICATION_JSON}) @@ -452,7 +454,7 @@ public class RoomWebService extends BaseWebService { @WebMethod @POST @Path("/hash") - private ServiceResult hash(@WebParam(name="sid") @QueryParam("sid") String sid + public ServiceResult hash(@WebParam(name="sid") @QueryParam("sid") String sid , @WebParam(name="invite") @QueryParam("invite") InvitationDTO invite , @WebParam(name="sendmail") @QueryParam("sendmail") boolean sendmail ) throws ServiceException http://git-wip-us.apache.org/repos/asf/openmeetings/blob/28cac665/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java index a9ea2b5..bec8307 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java @@ -74,6 +74,7 @@ import org.apache.wicket.validation.Validatable; import org.apache.wicket.validation.ValidationError; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; +import org.springframework.stereotype.Service; /** * @@ -83,6 +84,7 @@ import org.slf4j.Logger; * @author sebawagner * */ +@Service("userWebService") @WebService(serviceName = USER_SERVICE_NAME, targetNamespace = TNS, portName = USER_SERVICE_PORT_NAME) @Features(features = "org.apache.cxf.feature.LoggingFeature") @Produces({MediaType.APPLICATION_JSON})