Rev 1306 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package pt.estgp.estgweb.services.sms;
import pt.estgp.estgweb.services.jobs.JobHandler;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.domain.User;
import java.io.Serializable;
import java.util.List;
import org.apache.log4j.Logger;
import jomm.utils.TemplateUtils;
/**
* @author Jorge Machado
* @date 11/Jul/2008
* @see pt.estgp.estgweb.services.sms
*/
public class SMSJob
implements JobHandler,
1.5.0/docs/api/java/io/Serializable.html">Serializable
{
private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(SMSJob.
class);
private static 1.5.0/docs/api/java/lang/String.html">String separator =
"";
private static 1.5.0/docs/api/java/lang/String.html">String separator2 =
",";
private 1.5.0/docs/api/java/lang/String.html">String phones
;
private 1.5.0/docs/api/java/lang/String.html">String message
;
public SMSJob
(List
<User
> userPhones,
1.5.0/docs/api/java/lang/String.html">String[] args,
1.5.0/docs/api/java/lang/String.html">String template
)
{
if(userPhones
!=
null)
{
1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder phonesBuilder =
new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
for(User u: userPhones
)
{
if(validPhoneNumber
(u.
getPhonenumber()))
{
phonesBuilder.
append(separator
).
append(u.
getPhonenumber());
separator = separator2
;
}
}
this.
phones = phonesBuilder.
toString();
}
this.
message = TemplateUtils.
formatMessageTemplate(template,args
);
}
public SMSJob
(User user,
1.5.0/docs/api/java/lang/String.html">String[] args,
1.5.0/docs/api/java/lang/String.html">String template
)
{
if(user
!=
null)
{
this.
phones = user.
getPhonenumber();
this.
message = TemplateUtils.
formatMessageTemplate(template,args
);
}
}
public SMSJob
(1.5.0/docs/api/java/lang/String.html">String phones,
1.5.0/docs/api/java/lang/String.html">String message
)
{
this.
phones = phones
;
this.
message = message
;
}
public static boolean validPhoneNumber
(1.5.0/docs/api/java/lang/String.html">String phoneNumber
)
{
return phoneNumber
!=
null && phoneNumber.
length() ==
9 && phoneNumber.
startsWith("9");
}
public void runJob
()
{
try
{
new SmsService
().
run(message,phones
);
}
catch (ServiceException e
)
{
logger.
error("Sending SMS:" + e.
toString(),e
);
}
}
}