[JBoss Portal] - Re: Access CMS trought a Portlet
by DragonSk1ll
I found how to proceed to access the CMS by a programatic way but i had to look in source of JBoss Portal... I don't found any documentation about that.
Here is my solution if that can help somebody:
| CMS CMSService = (CMS)this.getPortletContext().getAttribute("CMS");
| Command listCMD = CMSService.getCommandFactory().createFolderGetListCommand("/");
| Folder mainFolder = (Folder)CMSService.execute(listCMD);
| List l=mainFolder.getFolders();
| Iterator it=l.iterator();
| while(it.hasNext())
| {
| System.out.println(((Folder)(it.next())).getName());
| }
|
jboss-portlet.xml
| <portlet-app>
| <portlet>
| <portlet-name>NewsWithCms</portlet-name>
| <transaction>
| <trans-attribute>Required</trans-attribute>
| </transaction>
| </portlet>
| <service>
| <service-name>CMS</service-name>
| <service-class>org.jboss.portal.cms.CMS</service-class>
| <service-ref>portal:service=CMS</service-ref>
| </service>
| </portlet-app>
|
It's work but there always a litle problem, I must include the jboss-portal.sar\portal-cms.sar\portal-cms-lib to compile my portlet but when I deploy it I must remove that jar to avoid a Class Cast Exeption during the execution (java.lang.ClassCastException org.jboss.portal.cms.impl.jcr.JCRCommandFactory).
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4147738#4147738
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4147738
16 years, 7 months
[Installation, Configuration & DEPLOYMENT] - JavaMail, apply text format
by beherenow
Hello! I am sending auto-generated email to the users of my application, and I want to know how to apply text-format to mails.
I'm using the textEmail class:
public class TextEmail {
private static final String SMTP = "smtp";
private static final String MAIL_TRANSPORT_PROTOCOL = "mail.transport.protocol";
private static final String MAIL_SMTP_HOST = "mail.smtp.host";
private static final String MAIL_SMTP_PORT = "mail.smtp.port";
private static final String MAIL_DEBUG = "mail.debug";
private static final String SENDER_ERROR_MSG = "Sender is null or empty";
private static final String SUBJECT_ERROR_MSG = "Subject is null or empty";
private static final String BODY_ERROR_MSG = "Body is null or empty";
private static final String RECIPIENT_ERROR_MSG = "Recipient is null or empty";
private static final String RECIPIENTS_ERROR_MSG = "Recipient List is null or empty";
private static final String CC_RECIPIENT_ERROR_MSG = "CC Recipient is null or empty";
private static final String CC_RECIPIENTS_ERROR_MSG = "CC Recipient List is null or empty";
private static final String BCC_RECIPIENT_ERROR_MSG = "BCC Recipient is null or empty";
private static final String BCC_RECIPIENTS_ERROR_MSG = "BCC Recipient List is null or empty";
private static final String SENT_DATE_ERROR_MSG = "Sent Date is null";
private static final String MAIL_SMTP_HOST_ERROR_MSG = "SMTP Host name is null or empty";
private static final String INVALID_ADDRESS_MSG = "Email Address does not conform to RFC 822 standard";
private Session session;
private InternetAddress sender = new InternetAddress();
private String subject = new String();
private StringBuffer body = new StringBuffer();
private List recipients = new ArrayList();
private List ccRecipients = new ArrayList();
private List bccRecipients = new ArrayList();
private Date sentDate;
public TextEmail() throws EmailException {
setSession(getDefaultSession());
}
public TextEmail(Session session) throws EmailException {
setSession(session);
}
public TextEmail(String sender, String subject, String body, List recipients) throws EmailException {
this();
setSender(sender);
setSubject(subject);
setBody(body);
setRecipients(recipients);
}
public TextEmail(String sender, String subject, String body,
List recipients, List ccRecipients) throws EmailException {
this(sender, subject, body, recipients);
setCcRecipients(ccRecipients);
}
public String getSender() {
return sender.toString();
}
public void setSender(String sender) throws EmailException {
this.sender = TextEmail.makeInternetAddress(sender);
}
private static InternetAddress makeInternetAddress(String emailAddress) throws EmailException {
InternetAddress internetAddress = null;
try {
internetAddress = new InternetAddress(emailAddress);
internetAddress.validate();
} catch (AddressException ae) {
throw new EmailException(TextEmail.INVALID_ADDRESS_MSG + " " + emailAddress + ":\n" + ae);
}
return internetAddress;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getBody() {
return body.toString();
}
public void setBody(String body) throws IllegalArgumentException {
this.body = new StringBuffer(body);
}
public List getRecipients() {
return TextEmail.internetAddressesToStrings(recipients);
}
/**
* @return
*/
private static List internetAddressesToStrings(List internetAddressRecipients) {
List stringRecipients = new ArrayList();
Iterator internetAddressRecipientsIter = internetAddressRecipients.iterator();
while (internetAddressRecipientsIter.hasNext()) {
InternetAddress internetAddress = (InternetAddress) internetAddressRecipientsIter.next();
stringRecipients.add(internetAddress.toString());
}
return stringRecipients;
}
public void addRecipient(String recipient) throws EmailException {
recipients.add(TextEmail.makeInternetAddress(recipient));
}
public void setRecipients(List recipients) throws EmailException {
TextEmail.setRecipients(this.recipients, recipients);
}
private static void setRecipients(List dest, List src) throws EmailException {
dest.clear();
dest.addAll(TextEmail.stringsToInternetAddresses(src));
}
/**
* @return
* @throws EmailException
*/
private static List stringsToInternetAddresses(List stringRecipients) throws EmailException {
List internetAddressRecipients = new ArrayList();
Iterator stringRecipientsIter = stringRecipients.iterator();
while (stringRecipientsIter.hasNext()) {
String address = (String) stringRecipientsIter.next();
internetAddressRecipients.add(TextEmail.makeInternetAddress(address));
}
return internetAddressRecipients;
}
public List getCcRecipients() {
return TextEmail.internetAddressesToStrings(ccRecipients);
}
public void addCcRecipient(String recipient) throws EmailException {
ccRecipients.add(TextEmail.makeInternetAddress(recipient));
}
public void setCcRecipients(List ccRecipients) throws EmailException {
TextEmail.setRecipients(this.ccRecipients, ccRecipients);
}
public boolean hasCcRecipients() {
return (ccRecipients != null && !ccRecipients.isEmpty());
}
public List getBccRecipients() {
return TextEmail.internetAddressesToStrings(bccRecipients);
}
public void addBccRecipient(String recipient) throws EmailException {
bccRecipients.add(TextEmail.makeInternetAddress(recipient));
}
public void setBccRecipients(List bccRecipients) throws EmailException {
TextEmail.setRecipients(this.bccRecipients, bccRecipients);
}
public boolean hasBccRecipients() {
return (bccRecipients != null && !bccRecipients.isEmpty());
}
public void setSentDate(Date sentDate) throws IllegalArgumentException {
this.sentDate = sentDate;
}
public Date getSentDate() {
if (sentDate == null) {
sentDate = new Date();
}
return sentDate;
}
private Session getDefaultSession() throws EmailException {
Properties props = new Properties(),
sysProps = System.getProperties();
String mailSmtpHost = sysProps.getProperty(TextEmail.MAIL_SMTP_HOST),
mailSmtpPort = sysProps.getProperty(TextEmail.MAIL_SMTP_PORT),
mailDebug = sysProps.getProperty(TextEmail.MAIL_DEBUG, "false");
props.setProperty(TextEmail.MAIL_TRANSPORT_PROTOCOL, SMTP);
props.setProperty(TextEmail.MAIL_SMTP_HOST, mailSmtpPort);
props.setProperty(TextEmail.MAIL_SMTP_HOST, mailSmtpHost);
props.setProperty(TextEmail.MAIL_DEBUG, mailDebug);
// Get the default Session using Properties.
Session session = Session.getDefaultInstance(props);
return session;
}
/**
* @return Returns the session.
*/
public Session getSession() {
return session;
}
/**
* @param session The session to set.
*/
public void setSession(Session session) {
this.session = session;
}
/**
* This method sends an email message using the JavaMail API.
*
* @param mailMessage The email message to send.
*/
public void send() throws EmailException {
try {
InternetAddress[] recipientsArr = (InternetAddress[]) recipients.toArray(new InternetAddress[0]);
// Create a New message.
MimeMessage msg = new MimeMessage(session);
// Set the "From" address.
msg.setFrom(sender);
// Set the "To recipients" addresses.
msg.setRecipients(Message.RecipientType.TO, recipientsArr);
if (hasCcRecipients()) {
InternetAddress[] ccRecipientsArr = (InternetAddress[]) ccRecipients.toArray(new InternetAddress[0]);
// Cc Recipients are optional.
// Set the "Cc recipients" addresses.
msg.setRecipients(Message.RecipientType.CC, ccRecipientsArr);
}
if (hasBccRecipients()) {
InternetAddress[] bccRecipientsArr = (InternetAddress[])
bccRecipients.toArray(new InternetAddress[0]);
// Bcc Recipients are optional.
// Set the "Bcc recipients" addresses.
msg.setRecipients(Message.RecipientType.BCC, bccRecipientsArr);
}
// Set the Subject.
msg.setSubject(subject);
// Set the Text.
msg.setText(body.toString());
// Set the sent date.
msg.setSentDate(getSentDate());
// Send the message.
Transport.send(msg);
} catch (MessagingException me) {
throw new EmailException(me);
}
}
}
Any idea? I tryed html but it not works...
Thanks!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4147737#4147737
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4147737
16 years, 7 months