bacoAlunos
ENGSOFT2019
BlueGrey
calm
Elegant
Català-Valencià - Catalan
中文 - Chinese (Simplified)
中文 - Chinese (Traditional)
Česky - Czech
Dansk - Danish
Nederlands - Dutch
English - English
Suomi - Finnish
Français - French
Deutsch - German
עברית - Hebrew
हिंदी - Hindi
Magyar - Hungarian
Bahasa Indonesia - Indonesian
Italiano - Italian
日本語 - Japanese
한국어 - Korean
मराठी - Marathi
Norsk - Norwegian
Polski - Polish
Português - Portuguese
Português - Portuguese (Brazil)
Русский - Russian
Slovenčina - Slovak
Slovenščina - Slovenian
Español - Spanish
Svenska - Swedish
Türkçe - Turkish
Oëzbekcha - Uzbek
Subversion Repositories
bacoAlunos
(root)
/
branches
/
v3
/
impl
/
src
/
java
/
pt
/
estgp
/
estgweb
/
services
/
email
/
EMAILJobPersonalizedCertificated.java
- Rev 1814
Rev
Rev 1490
|
Blame
|
Compare with Previous
|
Last modification
|
View Log
|
RSS feed
package
pt.estgp.estgweb.services.email
;
import
jomm.dao.impl.AbstractDao
;
import
org.apache.log4j.Logger
;
import
pt.estgp.estgweb.utils.Globals
;
import
pt.estgp.estgweb.domain.User
;
import
pt.estgp.estgweb.domain.dao.DaoFactory
;
import
pt.estgp.estgweb.services.authenticate.AuthenticateService
;
import
pt.estgp.estgweb.services.jobs.JobHandler
;
import
pt.estgp.estgweb.utils.Email
;
import
pt.estgp.estgweb.utils.EmailPersonalizedCertificated
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author Jorge Machado
* @date 11/Jul/2008
* @see pt.estgp.estgweb.services.sms
*/
public
class
EMAILJobPersonalizedCertificated
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
(
EMAILJobPersonalizedCertificated.
class
)
;
private
EmailPersonalizedCertificated email
;
public
EMAILJobPersonalizedCertificated
(
EmailPersonalizedCertificated email
)
{
this
.
email
= email
;
}
private
static
final
int
pauseTime =
1000
;
public
void
runJob
(
)
{
final
EmailPersonalizedCertificated cloned = email.
cloneEmailForJob
(
)
;
logger.
info
(
"Opening new Thread to send emails"
)
;
new
1.
5
.0/docs/api/java/lang/Thread.html">
Thread
(
new
1.
5
.0/docs/api/java/lang/Runnable.html">
Runnable
(
)
{
@
1.
5
.0/docs/api/java/lang/Override.html">
Override
public
void
run
(
)
{
if
(
Globals.
TEST_ENVIRONEMENT
&&
!
cloned.
isSystemAssumingTestEmail
(
)
)
{
1.
5
.0/docs/api/java/lang/String.html">
String
warn =
"System in TEST Environement - will not send EMAIL"
;
logger.
warn
(
warn
)
;
return
;
}
try
{
1.
5
.0/docs/api/java/lang/String.html">
String
URL_PREFIX = cloned.
getUrlPatternWithoutCetificate
(
)
;
if
(
URL_PREFIX.
indexOf
(
"?"
)
<
0
)
URL_PREFIX = URL_PREFIX +
"?certificate="
;
else
URL_PREFIX = URL_PREFIX +
"&certificate="
;
cloned.
setRecipients
(
new
ArrayList
<
String
>
(
)
)
;
SendEmailService sendEmailService =
new
SendEmailService
(
)
;
int
count =
0
;
int
size = cloned.
getUserIds
(
)
.
size
(
)
;
for
(
long
userId: cloned.
getUserIds
(
)
)
{
count++
;
logger.
info
(
"Users completed: "
+ count +
"/"
+ size +
" --> "
+
(
100.0
*
(
(
float
)
count
)
/
(
(
float
)
size
)
)
+
"%"
)
;
try
{
AbstractDao.
getCurrentSession
(
)
.
beginTransaction
(
)
;
AbstractDao.
getCurrentSession
(
)
.
clear
(
)
;
User user = DaoFactory.
getUserDaoImpl
(
)
.
load
(
userId
)
;
1.
5
.0/docs/api/java/lang/String.html">
String
certificate =
new
AuthenticateService
(
)
.
createCertificate
(
user
)
;
1.
5
.0/docs/api/java/lang/String.html">
String
emailStr = user.
getEmail
(
)
;
1.
5
.0/docs/api/java/lang/String.html">
String
outEmail = user.
getOutEmail
(
)
;
1.
5
.0/docs/api/java/lang/String.html">
String
preferrefEmail = user.
getPreferrefEmail
(
)
;
1.
5
.0/docs/api/java/lang/String.html">
String
toEmail =
null
;
if
(
preferrefEmail
!
=
null
&&
Email.
validEmail
(
preferrefEmail
)
)
toEmail = preferrefEmail
;
else
if
(
emailStr
!
=
null
&&
Email.
validEmail
(
emailStr
)
)
toEmail = emailStr
;
else
if
(
outEmail
!
=
null
&&
Email.
validEmail
(
outEmail
)
)
toEmail = outEmail
;
1.
5
.0/docs/api/java/lang/String.html">
String
nome = user.
getName
(
)
;
AbstractDao.
getCurrentSession
(
)
.
getTransaction
(
)
.
commit
(
)
;
if
(
toEmail
!
=
null
)
{
List
<
String
>
ccEmails =
new
ArrayList
<
String
>
(
)
;
if
(
emailStr
!
=
null
&&
Email.
validEmail
(
emailStr
)
&&
!
toEmail.
equals
(
emailStr
)
)
ccEmails.
add
(
emailStr
)
;
if
(
outEmail
!
=
null
&&
Email.
validEmail
(
outEmail
)
&&
!
toEmail.
equals
(
outEmail
)
)
ccEmails.
add
(
outEmail
)
;
cloned.
setRecipientsCC
(
ccEmails
)
;
cloned.
getRecipients
(
)
.
clear
(
)
;
cloned.
getRecipients
(
)
.
add
(
toEmail
)
;
1.
5
.0/docs/api/java/lang/String.html">
String
finalUrl = URL_PREFIX + certificate
;
sendEmailService.
sendEmail
(
cloned, finalUrl, nome
)
;
try
{
logger.
info
(
"Watting to send another email: sent to"
+ toEmail
)
;
//Thread.sleep(pauseTime);
1.
5
.0/docs/api/java/lang/Thread.html">
Thread
.
sleep
(
pauseTime
)
;
}
catch
(
1.
5
.0/docs/api/java/lang/InterruptedException.html">
InterruptedException
e
)
{
logger.
error
(
e,e
)
;
}
}
}
catch
(
1.
5
.0/docs/api/java/lang/Throwable.html">
Throwable
e
)
{
logger.
error
(
e,e
)
;
}
}
logger.
info
(
"No more user ids to send email. exiting"
)
;
}
catch
(
1.
5
.0/docs/api/java/lang/Throwable.html">
Throwable
e
)
{
logger.
error
(
"Sending EMAIL:"
+ e.
toString
(
)
,e
)
;
}
}
}
)
.
start
(
)
;
}
}