/impl/conf/app.properties |
---|
11,9 → 11,20 |
email.server=mail.estgp.pt |
email.user= |
email.password= |
email.from=jmachado@estgp.pt |
email.from=bacodev@estgp.pt |
email.templates.dir=@email.templates.dir@ |
######################### |
## |
######################## |
email.send.url.friend.subject.pt=Site da ESTG sugerido pelo amigo ({0}) (ESTG) |
email.send.url.friend.subject.en=Site of ESTG suggested by friend ({0}) (ESTG) |
email.new.grades.subject.pt=Novas notas disponiveis (ESTG) |
email.new.grades.subject.en=New grades available (ESTG) |
email.new.grades=true |
################################################## |
# Modules usage |
# |
/impl/conf/template/email/newGrades_en.txt |
---|
New file |
0,0 → 1,13 |
#Email to send grades |
Dear Student {0} |
You have new Grades Available at ESTG Site |
{1} |
Best Regards |
--------------------------------------------- |
Escola Superior de Tecnologia e Gestão |
Instituto Politécnico de Portalegre |
http://www.estgp.pt |
/impl/conf/template/email/GradeUnit.txt |
---|
New file |
0,0 → 1,6 |
################################################## |
# Template de Messagem de novas Notas |
# 0: Unidade |
# 1: Nota |
################################################## |
{0}:{1}; |
/impl/conf/template/email/newGrades_pt.txt |
---|
New file |
0,0 → 1,13 |
#Email to send grades |
Caro Aluno {0} |
Tem novas notas disponiveis no sitio da ESTG |
{1} |
Com os melhores cumprimentos |
--------------------------------------------- |
Escola Superior de Tecnologia e Gestão |
Instituto Politécnico de Portalegre |
http://www.estgp.pt |
/impl/conf/berserk/fcd.xml |
---|
262,6 → 262,13 |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>OwnerCourseUnitFromCourseUnitQuestion</name> |
<expression>OwnerUsersClassBean("serializable","pt.estgp.estgweb.domain.CourseUnitQuestionImpl","courseUnit")</expression> |
<description>Owner of an object Control Chain</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>OwnerCourseUnitFromWorkAssignementObject</name> |
<expression>OwnerUsersClassBean("object.serializable","pt.estgp.estgweb.domain.CourseUnitAssignementImpl","courseUnit")</expression> |
<description>Owner of an object Control Chain</description> |
269,6 → 276,14 |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>OwnerCourseUnitFromCourseUnitQuestionObject</name> |
<expression>OwnerUsersClassBean("object.serializable","pt.estgp.estgweb.domain.CourseUnitQuestionImpl","courseUnit")</expression> |
<description>Owner of an object Control Chain</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>IsInCourseUnitFromWorkAssignement</name> |
<expression>IsInCourseUnitUsersClassBean("serializable","pt.estgp.estgweb.domain.CourseUnitAssignementImpl","courseUnit")</expression> |
<description>Owner of an object Control Chain</description> |
/impl/src/java/pt/estgp/estgweb/utils/Email.java |
---|
9,6 → 9,7 |
import java.util.List; |
import java.util.ArrayList; |
import java.text.MessageFormat; |
import java.io.Serializable; |
import pt.estgp.estgweb.Globals; |
18,10 → 19,10 |
* @time 18:32:21 |
* @see pt.estgp.estgweb.utils |
*/ |
public class Email |
public class Email implements Serializable |
{ |
public static String EMAIL_TEMPLATES_PATH = "/template/email"; |
private String subject; |
private List<String> recipients; |
private String from; |
38,64 → 39,29 |
this.arguments = arguments; |
} |
/** |
* Sends the email. |
* |
* @throws javax.mail.MessagingException if there was a problem sending the mail. |
*/ |
public void send() |
throws MessagingException |
public String getSubject() |
{ |
return subject; |
} |
// Set up properties for mail session |
Properties props = System.getProperties(); |
props.put("mail.smtp.host", Globals.EMAIL_SERVER_HOST); |
// Get session |
Session session = Session.getDefaultInstance(props, null); |
// Create message |
MimeMessage message = new MimeMessage(session); |
// Set the recipients of the message |
for (String recipient : recipients) { |
message.addRecipient(Message.RecipientType.TO, |
new InternetAddress(recipient)); |
} |
String content = TemplateUtils.getOrLoadTemplate(EMAIL_TEMPLATES_PATH + "/" + emailTemplateName); |
// Format the mail message |
String fullMessage = MessageFormat.format(content, arguments.toArray()); |
message.setFrom(new InternetAddress(from)); |
message.setSubject(subject); |
message.setText(fullMessage); |
// if (replyTo != null) |
// { |
// Address[] replyToAddr = new Address[1]; |
// replyToAddr[0] = new InternetAddress(replyTo); |
// message.setReplyTo(replyToAddr); |
// } |
System.out.println(fullMessage); |
Transport.send(message); |
public List<String> getRecipients() |
{ |
return recipients; |
} |
public static void main(String[]args) |
public String getFrom() |
{ |
List<String> recipients = new ArrayList<String>(); |
recipients.add("jmachado@estgp.pt"); |
return from; |
} |
List<String> arguments = new ArrayList<String>(); |
arguments.add("João Pedro"); |
arguments.add("http://www.estgp.pt/teste"); |
Email email = new Email("assunto de teste",recipients,Globals.SYSTEM_EMAIL_BOX,"sendPageFriend_en.txt",arguments); |
try { |
email.send(); |
} |
catch (MessagingException e) { |
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. |
} |
public String getEmailTemplateName() |
{ |
return emailTemplateName; |
} |
public List<String> getArguments() |
{ |
return arguments; |
} |
} |
/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
129,6 → 129,7 |
public static final boolean SMS_COURSEUNIT_ANNOUNCEMENT = ConfigProperties.getBooleanProperty("sms.courseunit.announcement"); |
public static final boolean SMS_NEW_GRADES = ConfigProperties.getBooleanProperty("sms.new.grades"); |
public static final boolean EMAIL_NEW_GRADES = ConfigProperties.getBooleanProperty("email.new.grades"); |
public static final boolean SMS_COURSEUNIT_ANNOUNCEMENT_ONLY_PROFS = ConfigProperties.getBooleanProperty("sms.courseunit.announcement.only.profs"); |
148,10 → 149,22 |
public static final boolean MODULE_STATUS_SMS = ConfigProperties.getBooleanProperty("module.sms"); |
public static final String TEMPLATE_EMAIL_PATH = "/template/email"; |
public static final String TEMPLATE_ASSIGNEMENT_PATH = "/template/assignement"; |
public static final String TEMPLATE_SMS_PATH = "/template/sms"; |
public static final String TEMPLATE_SMS_COURSEUNIT_ANNOUNCMENT = TEMPLATE_SMS_PATH + "/CourseUnit.txt"; |
public static final String TEMPLATE_SMS_NEW_GRADES = TEMPLATE_SMS_PATH + "/GradesUnit.txt"; |
public static final String TEMPLATE_SMS_NEW_GRADE = TEMPLATE_SMS_PATH + "/GradeUnit.txt"; |
public static final String EMAIL_SEND_URL_FRIEND_PT = ConfigProperties.getProperty("email.send.url.friend.subject.pt"); |
public static final String EMAIL_SEND_URL_FRIEND_EN = ConfigProperties.getProperty("email.send.url.friend.subject.en"); |
public static final String EMAIL_SEND_URL_FRIEND_TEMPLATE_PT = "sendPageFriend_pt.txt"; |
public static final String EMAIL_SEND_URL_FRIEND_TEMPLATE_EN = "sendPageFriend_en.txt"; |
public static final String EMAIL_NEW_GRADES_PT = ConfigProperties.getProperty("email.new.grades.subject.pt"); |
public static final String EMAIL_NEW_GRADES_EN = ConfigProperties.getProperty("email.new.grades.subject.en"); |
public static final String EMAIL_NEW_GRADES_TEMPLATE_PT = "newGrades_pt.txt"; |
public static final String EMAIL_NEW_GRADES_TEMPLATE_EN = "newGrades_en.txt"; |
public static final String EMAIL_GRADE_UNIT_TEMPLATE = "GradeUnit.txt"; |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/CourseUnitWorkService.java |
---|
57,12 → 57,12 |
{ |
assignement = DomainObjectFactory.createCourseUnitAssignementImpl(); |
assignement.setCourseUnit(courseUnit); |
DaoFactory.getCourseUnitAssignementDaoImpl().save(assignement); |
} |
cUV.persistViewInObject(assignement); |
if(name != null && name.length() > 0 && size > 0 && file != null) |
{ |
String extension = FilesUtils.getExtension(name); |
if(assignement.getRepositoryStream() == null || assignement.getRepositoryStream().trim().length() == 0) |
{ |
73,7 → 73,7 |
repositoryService.updateRepositoryFile(assignement.getRepositoryStream(), file, contentType, extension, size, name, "courseunit.assignement.file " + courseUnit.getName() + " of " + userSession.getUser().getUsername(), ResourceAccessControlEnum.courseunitDomain); |
} |
DaoFactory.getCourseUnitAssignementDaoImpl().save(assignement); |
return loadCourseUnitWorks(id,userSession); |
} |
/impl/src/java/pt/estgp/estgweb/services/email/SendUrl2FriendService.java |
---|
File deleted |
/impl/src/java/pt/estgp/estgweb/services/email/EMAILJob.java |
---|
New file |
0,0 → 1,48 |
package pt.estgp.estgweb.services.email; |
import pt.estgp.estgweb.services.jobs.JobHandler; |
import pt.estgp.estgweb.services.sms.SMSJob; |
import pt.estgp.estgweb.services.sms.SmsService; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.utils.Email; |
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 EMAILJob implements JobHandler, Serializable |
{ |
private static final Logger logger = Logger.getLogger(EMAILJob.class); |
private Email email; |
public EMAILJob(Email email) |
{ |
this.email = email; |
} |
public void runJob() |
{ |
try |
{ |
new SendEmailService().sendEmail(email); |
} |
catch (ServiceException e) |
{ |
logger.error("Sending EMAIL:" + e.toString(),e); |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/email/SendEmailService.java |
---|
New file |
0,0 → 1,161 |
package pt.estgp.estgweb.services.email; |
import jomm.utils.TemplateUtils; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.domain.enums.LangEnum; |
import pt.estgp.estgweb.utils.Email; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import javax.mail.MessagingException; |
import javax.mail.Session; |
import javax.mail.Message; |
import javax.mail.Transport; |
import javax.mail.internet.MimeMessage; |
import javax.mail.internet.InternetAddress; |
import java.util.ArrayList; |
import java.util.List; |
import java.util.Properties; |
import java.text.MessageFormat; |
/** |
* @author Jorge Machado |
* @date 20/Mar/2008 |
* @time 18:31:00 |
* @see pt.estgp.estgweb.services.email |
*/ |
public class SendEmailService implements IService |
{ |
private static final Logger logger = Logger.getLogger(SendEmailService.class); |
private static final String gradeUnitTemplate = Globals.TEMPLATE_EMAIL_PATH + "/" + Globals.EMAIL_GRADE_UNIT_TEMPLATE; |
public void sendEmail(Email email) throws ServiceException |
{ |
try{ |
// Set up properties for mail session |
Properties props = System.getProperties(); |
props.put("mail.smtp.host", Globals.EMAIL_SERVER_HOST); |
// Get session |
Session session = Session.getDefaultInstance(props, null); |
// Create message |
MimeMessage message = new MimeMessage(session); |
// Set the recipients of the message |
for (String recipient : email.getRecipients()) { |
message.addRecipient(Message.RecipientType.TO, |
new InternetAddress(recipient)); |
} |
String content = TemplateUtils.getOrLoadTemplate(Globals.TEMPLATE_EMAIL_PATH + "/" + email.getEmailTemplateName()); |
// Format the mail message |
String fullMessage = MessageFormat.format(content, email.getArguments().toArray()); |
message.setFrom(new InternetAddress(email.getFrom())); |
message.setSubject(email.getSubject()); |
message.setText(fullMessage); |
Transport.send(message); |
} |
catch(MessagingException e) |
{ |
logger.error(e,e); |
throw new ServiceException(e.toString()); |
} |
} |
public Email getSendUrlToFriendEmail(String url, String from, LangEnum langEnum, List<String> recipients) |
{ |
List<String> arguments = new ArrayList<String>(); |
arguments.add(from); |
arguments.add(url); |
String subjectTxt; |
String template; |
if(langEnum == LangEnum.PORTUGUESE) |
{ |
template = Globals.EMAIL_SEND_URL_FRIEND_TEMPLATE_PT; |
subjectTxt = Globals.EMAIL_SEND_URL_FRIEND_PT; |
} |
else |
{ |
template = Globals.EMAIL_SEND_URL_FRIEND_TEMPLATE_EN; |
subjectTxt = Globals.EMAIL_SEND_URL_FRIEND_EN; |
} |
String subject = java.text.MessageFormat.format(subjectTxt,new String[]{from}); |
return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments); |
} |
public boolean sendUrlToFriend(String url, String from, LangEnum langEnum, List<String> recipients) |
{ |
try |
{ |
sendEmail(getSendUrlToFriendEmail(url,from,langEnum,recipients)); |
return true; |
} |
catch (ServiceException e) |
{ |
return false; |
} |
} |
public Email getNewGradesEmail(List<String[]> grades, LangEnum langEnum, String studentEmail, String studentName) |
{ |
List<String> arguments = new ArrayList<String>(); |
String subject; |
String template; |
if(langEnum == LangEnum.PORTUGUESE) |
{ |
template = Globals.EMAIL_NEW_GRADES_TEMPLATE_PT; |
subject = Globals.EMAIL_NEW_GRADES_PT; |
} |
else |
{ |
template = Globals.EMAIL_NEW_GRADES_TEMPLATE_EN; |
subject = Globals.EMAIL_NEW_GRADES_EN; |
} |
StringBuilder gradesBuilder = new StringBuilder(); |
for(String[] grade: grades) |
{ |
String gradeTxt = TemplateUtils.formatMessageTemplate(gradeUnitTemplate,grade); |
gradesBuilder.append(gradeTxt); |
} |
arguments.add(studentName); |
arguments.add(gradesBuilder.toString()); |
List<String> recipients = new ArrayList<String>(); |
recipients.add(studentEmail); |
return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments); |
} |
public boolean sendNewGrades(List<String[]> grades, LangEnum langEnum, String studentEmail, String studentName) |
{ |
try |
{ |
sendEmail(getNewGradesEmail(grades,langEnum,studentEmail,studentName)); |
return true; |
} |
catch (ServiceException e) |
{ |
return false; |
} |
} |
public static void main(String [] args) |
{ |
List<String[]> grades = new ArrayList<String[]>(); |
grades.add(new String[]{"Teste","3"}); |
grades.add(new String[]{"Teste2","4"}); |
new SendEmailService().sendNewGrades(grades,LangEnum.PORTUGUESE,"jmachado@estgp.pt","jorge Machado"); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportGradesService.java |
---|
6,11 → 6,14 |
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessages; |
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessage; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.services.smsservice.SMSJob; |
import pt.estgp.estgweb.services.sms.SMSJob; |
import pt.estgp.estgweb.services.jobs.JobScheduleService; |
import pt.estgp.estgweb.services.email.EMAILJob; |
import pt.estgp.estgweb.services.email.SendEmailService; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.utils.DatesUtils; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.enums.LangEnum; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.ipportalegre.siges.web.services.*; |
import org.apache.log4j.Logger; |
18,7 → 21,6 |
import javax.xml.namespace.QName; |
import java.net.URL; |
import java.net.MalformedURLException; |
import java.math.BigDecimal; |
import java.util.*; |
import jomm.dao.impl.AbstractDao; |
128,6 → 130,7 |
} |
sendSms(null); |
sendEmail(null); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
catch (Throwable e) |
178,7 → 181,32 |
} |
} |
} |
public static SendEmailService sendEmailService = new SendEmailService(); |
private void sendEmail(UserSession userSession) |
{ |
if(Globals.EMAIL_NEW_GRADES && newGrades.size() > 0) |
{ |
Set<Map.Entry<Long,List<Long>>> set = newGrades.entrySet(); |
for(Map.Entry<Long,List<Long>> entry: set) |
{ |
long studentId = entry.getKey(); |
List<Long> studentGrades = entry.getValue(); |
Student s = DaoFactory.getStudentDaoImpl().get(studentId); |
List<String[]> gradesArray = new ArrayList<String[]>(); |
for(long gradeId: studentGrades) |
{ |
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().get(gradeId); |
String[] gradeArray = new String[] {grade.getNormalizedCourseUnitName(),""+grade.getGrade()}; |
gradesArray.add(gradeArray); |
} |
EMAILJob emailJob = new EMAILJob(sendEmailService.getNewGradesEmail(gradesArray, LangEnum.PORTUGUESE,s.getEmail(),s.getName())); |
JobScheduleService.getInstance().scheduleNow(emailJob,"New Grades EMAIL: to" + s.getUsername(),userSession); |
} |
} |
} |
/** |
* Testar por aqui poi requer Super Role e assim e' autmatico |
* |
/impl/src/java/pt/estgp/estgweb/services/jobs/JobDeamon.java |
---|
34,7 → 34,7 |
j.setExecuted(true); |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
Thread.sleep(60000); |
Thread.sleep(3000); |
} |
catch (InterruptedException e) |
{ |
/impl/src/java/pt/estgp/estgweb/services/sms/SmsService.java |
---|
New file |
0,0 → 1,70 |
package pt.estgp.estgweb.services.sms; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.Globals; |
import pt.ipportalegre.siges.web.services.SiGesWEB; |
import org.apache.log4j.Logger; |
import javax.xml.namespace.QName; |
import java.util.*; |
import java.net.URL; |
import java.net.MalformedURLException; |
/** |
* @author Jorge Machado |
*/ |
public class SmsService implements IService |
{ |
private static final Logger logger = Logger.getLogger(SmsService.class); |
public void run(String message, String phones) throws ServiceException |
{ |
if(Globals.MODULE_STATUS_SMS) |
{ |
logger.info("start sending sms send"); |
try |
{ |
SiGesWEB service; |
try |
{ |
service = new SiGesWEB(new URL(Globals.SIGES_WEBSERVICE_WSDL), new QName(Globals.SIGES_WEBSERVICE_TARGET_NAMESPACE, "SiGesWEB")); |
} |
catch (MalformedURLException e) |
{ |
logger.fatal(e, e); |
return; |
} |
// ArrayOfString phonesArray = new ArrayOfString(); |
// for(String phone: phones) |
// { |
// phonesArray.getString().add(phone); |
// } |
service.getSiGesWEBSoap().sendSmsSeparatedWithComma(message,phones,Globals.SIGES_WEBSERVICE_SECRET); |
} |
catch (Throwable e) |
{ |
logger.error(e,e); |
} |
logger.info("terminating sms send"); |
} |
else |
{ |
logger.info("SMS module turned off"); |
} |
} |
public static void main(String[] args) throws ServiceException |
{ |
// AbstractDao.getCurrentSession().beginTransaction(); |
List<String> phones = new ArrayList<String>(); |
phones.add("916252810"); |
phones.add("916252810"); |
new SmsService().run("Teste Final","916252810,916252810"); |
// AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sms/SMSJob.java |
---|
New file |
0,0 → 1,77 |
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, Serializable |
{ |
private static final Logger logger = Logger.getLogger(SMSJob.class); |
private static String separator = ""; |
private static String separator2 = ","; |
private String phones; |
private String message; |
public SMSJob(List<User> userPhones, String[] args, String template) |
{ |
if(userPhones != null) |
{ |
StringBuilder phonesBuilder = new 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, String[] args, String template) |
{ |
if(user != null) |
{ |
this.phones = user.getPhonenumber(); |
this.message = TemplateUtils.formatMessageTemplate(template,args); |
} |
} |
public SMSJob(String phones, String message) |
{ |
this.phones = phones; |
this.message = message; |
} |
public static boolean validPhoneNumber(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); |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/announcements/CreateAnnouncementService.java |
---|
2,11 → 2,10 |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.services.smsservice.SMSJob; |
import pt.estgp.estgweb.services.sms.SMSJob; |
import pt.estgp.estgweb.services.jobs.JobScheduleService; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.dao.impl.ImageDaoImpl; |
import pt.estgp.estgweb.domain.views.AnnouncementView; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.estgp.estgweb.utils.RoleManager; |
14,7 → 13,6 |
import java.util.Date; |
import java.util.List; |
import java.util.Set; |
import java.util.ArrayList; |
/** |
/impl/src/java/pt/estgp/estgweb/domain/enums/LangEnum.java |
---|
New file |
0,0 → 1,49 |
package pt.estgp.estgweb.domain.enums; |
import pt.estgp.estgweb.domain.*; |
import org.apache.log4j.Logger; |
import java.io.Serializable; |
public enum LangEnum implements Serializable |
{ |
PORTUGUESE("pt"), |
ENGLISH("en"), |
DEFAULT("pt"); |
private static final Logger logger = Logger.getLogger(LangEnum.class); |
private String lang; |
private LangEnum(String lang) |
{ |
this.lang = lang; |
} |
public String getLang() |
{ |
return lang; |
} |
public void setLang(String lang) |
{ |
this.lang = lang; |
} |
public static LangEnum parse(String lang) |
{ |
for(LangEnum langEnum: values()) |
{ |
if(langEnum.getLang().equals(lang)) |
return langEnum; |
} |
logger.warn("Lang Enum not found returning DEFAULT Type"); |
return DEFAULT; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/CourseUnitQuestionImpl.java |
---|
1,6 → 1,7 |
package pt.estgp.estgweb.domain; |
import java.io.Serializable; |
import java.util.List; |
/** |
* @author Jorge Machado |
13,4 → 14,14 |
{ |
return getId(); |
} |
public List<String> getOwnerRoles() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getChoosedOwnerRole() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
} |
/impl/src/doc/rss/RSS.zip |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/impl/src/hbm/pt/estgp/estgweb/domain/CourseUnit.hbm.xml |
---|
55,7 → 55,7 |
</class> |
<class name="pt.estgp.estgweb.domain.CourseUnitQuestion" table="courseUnitQuestion" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
<meta attribute="extends">pt.estgp.estgweb.domain.OwnedDomainObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
<generator class="native"/> |
66,6 → 66,7 |
<property name="question" type="text"/> |
<property name="answer" type="text"/> |
<property name="answred" type="boolean" index="answredIndex"/> |
<many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="false" outer-join="true"/> |
<many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/> |
<subclass name="pt.estgp.estgweb.domain.CourseUnitQuestionImpl" discriminator-value="CourseUnitQuestionImpl"/> |
</class> |