Author: solomax
Date: Thu Dec 20 15:24:44 2012
New Revision: 1424527

URL: http://svn.apache.org/viewvc?rev=1424527&view=rev
Log:
OPENMEETINGS-496 Unicode SMS patch

Modified:
    incubator/openmeetings/trunk/singlewebapp/ivy.xml
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/sms/SMSHandler.java

Modified: incubator/openmeetings/trunk/singlewebapp/ivy.xml
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/ivy.xml?rev=1424527&r1=1424526&r2=1424527&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/ivy.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/ivy.xml Thu Dec 20 15:24:44 2012
@@ -252,7 +252,7 @@
                <dependency org="com.googlecode.jsmpp" name="jsmpp" rev="2.1.0" 
conf="openmeetings->*" transitive="false">
                        <include type="jar" />
                </dependency>
-               <dependency org="smslib" name="smslib" rev="3.5.2" 
conf="openmeetings->*" transitive="false">
+               <dependency org="smslib" name="smslib" rev="3.5.3.1" 
conf="openmeetings->*" transitive="false">
                        <include type="jar" />
                </dependency>
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java?rev=1424527&r1=1424526&r2=1424527&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
 Thu Dec 20 15:24:44 2012
@@ -493,6 +493,7 @@ public class AppointmentLogic {
                                        }
 
                                        String subject = 
generateSubject(labelid1158, ment, tZone);
+                                       String smsSubject = 
generateSMSSubject(labelid1158, ment);
 
                                        String message = 
generateMessage(labelid1158, ment,
                                                        language_id, 
labelid1153, labelid1154, tZone);
@@ -501,7 +502,7 @@ public class AppointmentLogic {
                                                        inv.getBaseUrl(), 
mm.getEmail(), subject,
                                                        inv.getHash());
 
-                                       
invitationManagement.sendInvitationReminderSMS(mm.getPhone(), subject);
+                                       
invitationManagement.sendInvitationReminderSMS(mm.getPhone(), smsSubject, 
language_id);
                                        inv.setUpdatetime(new Date());
                                        
invitationManagement.updateInvitation(inv);
                                }
@@ -527,6 +528,10 @@ public class AppointmentLogic {
 
        }
 
+       private String generateSMSSubject(String labelid1158, Appointment ment) 
{
+               return labelid1158 + " " + ment.getAppointmentName();
+       }
+       
        /**
         * Generate a localized message including the time and date of the 
meeting
         * event

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java?rev=1424527&r1=1424526&r2=1424527&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
 Thu Dec 20 15:24:44 2012
@@ -673,11 +673,11 @@ public class Invitationmanagement {
         * @param subject 
         * @return
         */
-       public boolean sendInvitationReminderSMS(String phone, String subject) {
+       public boolean sendInvitationReminderSMS(String phone, String subject, 
long language_id) {
                if (phone != null && phone.length() > 0) {
                        log.debug("sendInvitationReminderSMS to " + phone + ": 
" + subject);
                        try {
-                               return smsHandler.sendSMS(phone, subject);
+                               return smsHandler.sendSMS(phone, subject, 
language_id);
                        } catch (Exception e) {
                                log.error("sendInvitationReminderSMS", e);
                        }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/sms/SMSHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/sms/SMSHandler.java?rev=1424527&r1=1424526&r2=1424527&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/sms/SMSHandler.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/sms/SMSHandler.java
 Thu Dec 20 15:24:44 2012
@@ -22,6 +22,7 @@ import org.apache.openmeetings.Openmeeti
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
+import org.smslib.Message.MessageEncodings;
 import org.smslib.OutboundMessage;
 import org.smslib.Service;
 import org.smslib.http.BulkSmsHTTPGateway;
@@ -65,9 +66,9 @@ public class SMSHandler {
                return gateway.queryBalance() >= 1; 
        }
        
-       public boolean sendSMS(String phone, String subj) {
+       public boolean sendSMS(String phone, String subj, long language_id) {
                try {
-                       taskExecutor.execute(new SMSSenderTask(phone, subj));
+                       taskExecutor.execute(new SMSSenderTask(phone, subj, 
language_id));
                        return true;
                } catch (Exception ex) {
                        log.error("sendSMS", ex);
@@ -76,13 +77,14 @@ public class SMSHandler {
        }
        
        protected class SMSSenderTask implements Runnable {
-
                private final String phone;
                private final String subject;
+               private long language_id;
 
-               public SMSSenderTask(String phone, String subject) {
+               public SMSSenderTask(String phone, String subject, long 
language_id) {
                        this.phone = phone;
                        this.subject = subject;
+                       this.language_id = language_id;
                }
 
                public void run() {
@@ -98,6 +100,9 @@ public class SMSHandler {
                                log.debug("SMS sending to: " + phone + ", 
subject is: " + subject);
                                if (checkBalance()) {
                                        OutboundMessage msg = new 
OutboundMessage(phone, subject);
+                                       if (language_id != 1) {
+                                               
msg.setEncoding(MessageEncodings.ENCUCS2);
+                                       }
                                        return 
Service.getInstance().sendMessage(msg);
                                } else {
                                        log.error("Error: insufficient funds on 
SMS provider account!");


Reply via email to