/impl/conf/app.properties |
---|
166,8 → 166,8 |
pop.web.interface=http://mail.estgp.pt/exchange |
pop.server=mail.estgp.pt |
pop.max.messages=15 |
pop.fragment.text.size=80 |
pop.fragment.text.size=30 |
pop.refresh.timeout.minutes=5 |
/impl/src/java/jomm/utils/StringsUtils.java |
---|
10,9 → 10,9 |
public static String getFragment(String textOriginal, int size) |
{ |
if (textOriginal == null) |
return null; |
String text = textOriginal.trim(); |
if (text == null) |
return null; |
if (text.length() > size) |
return text.substring(0, text.substring(0, size).lastIndexOf(' ')) + "..."; |
return text; |
/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
58,4 → 58,6 |
public static final String POP_WEB_INTERFACE = ConfigProperties.getProperty("pop.web.interface"); |
public static final boolean POP_CONTAINER_USAGE = ConfigProperties.getBooleanProperty("pop.container.use"); |
public static final int POP_FRAGMENT_TEXT_SIZE = ConfigProperties.getIntProperty("pop.fragment.text.size"); |
public static final int POP_REFRESH_TIMEOUT_MILISECONDS = ConfigProperties.getIntProperty("pop.refresh.timeout.minutes") * 1000; |
} |
/impl/src/java/pt/estgp/estgweb/services/email/impl/DefaultPopEmail.java |
---|
15,6 → 15,7 |
public class DefaultPopEmail implements IPopEmail, Serializable |
{ |
private String subject; |
private String subjectFragment; |
private String text; |
private String fragment; |
private List<IAddress> from; |
22,6 → 23,7 |
private String cc; |
public String date; |
public String getSubject() |
{ |
return subject; |
92,4 → 94,15 |
{ |
this.date = date; |
} |
public String getSubjectFragment() |
{ |
return subjectFragment; |
} |
public void setSubjectFragment(String subjectFragment) |
{ |
this.subjectFragment = subjectFragment; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/email/ReadEmailService.java |
---|
2,6 → 2,7 |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.web.utils.DatesUtils; |
import pt.estgp.estgweb.services.email.impl.DefaultPopEmail; |
12,6 → 13,7 |
import java.util.List; |
import java.util.Properties; |
import java.util.ArrayList; |
import java.util.Date; |
import java.io.InputStream; |
import java.io.BufferedReader; |
import java.io.InputStreamReader; |
30,12 → 32,24 |
public class ReadEmailService implements IService |
{ |
private static final String POP_MAIL_DATE_KEY = "POP_MAIL_DATE_KEY"; |
private static final String POP_MAIL_MESSAGES_KEY = "POP_MAIL_MESSAGES_KEY"; |
private static final Logger logger = Logger.getLogger(ReadEmailService.class); |
public List<IPopEmail> run(UserSession userSession) |
{ |
Properties props = new Properties(); |
Date d = (Date) ((UserSessionImpl)userSession).get(POP_MAIL_DATE_KEY); |
ArrayList<IPopEmail> oldMessages = (ArrayList<IPopEmail>) ((UserSessionImpl)userSession).get(POP_MAIL_MESSAGES_KEY); |
if(d != null && oldMessages != null) |
{ |
if(System.currentTimeMillis() - d.getTime() < Globals.POP_REFRESH_TIMEOUT_MILISECONDS) |
{ |
return oldMessages; |
} |
} |
String host = userSession.getUser().getPop3server(); |
String username = userSession.getUser().getPop3username(); |
String password = DesUtils.getInstance().decrypt(userSession.getUser().getPop3password()); |
65,6 → 79,7 |
String date = DatesUtils.getStringFromDate(messages[i].getSentDate()); |
popEmail.setDate(date); |
popEmail.setSubject(messages[i].getSubject()); |
popEmail.setSubjectFragment(StringsUtils.getFragment(messages[i].getSubject(),Globals.POP_FRAGMENT_TEXT_SIZE)); |
List<IAddress> addressLst = new ArrayList<IAddress>(); |
for (Address a : messages[i].getFrom()) |
{ |
106,6 → 121,10 |
} |
inbox.close(false); |
store.close(); |
((UserSessionImpl)userSession).put(POP_MAIL_DATE_KEY,new Date()); |
((UserSessionImpl)userSession).put(POP_MAIL_MESSAGES_KEY,((ArrayList)popMessages)); |
return popMessages; |
} |
catch (MessagingException e) |
/impl/src/web/css/style.css |
---|
1113,10 → 1113,14 |
/*POP EMAIL*/ |
.messages td |
.messages td, .dataTable td |
{ |
border:1px solid green; |
} |
.messages th, .dataTable th |
{ |
border:1px solid darkgray; |
} |
.message |
{ |
background-color:darkgray; |
/impl/src/web/user/pop/messages.jsp |
---|
60,15 → 60,14 |
if (popEmail.getText() != null) |
{ |
%> |
<td nowrap="nowrap"><a href="javascript:showOrHide('<%="message" + i%>')"><%=popEmail.getSubject()%> |
<td nowrap="nowrap"><a href="javascript:showOrHide('<%="message" + i%>')"><%=popEmail.getSubjectFragment()%> |
</a></td> |
<% |
} |
else |
{ |
%> |
<td nowrap="nowrap"><%=popEmail.getSubject()%> |
</td> |
<td nowrap="nowrap"><%=popEmail.getSubjectFragment()%> </td> |
<% |
} |
%> |