You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Henri Dupre <he...@gmail.com> on 2006/05/21 20:43:33 UTC

tapestry email service

I finished packaging my email service into a nice jar file... You just drop
it in the classpath and then you can inject the email service in any page.

The API is:

  public abstract void sendEmail(Map<EmailField,String> properties, String
pageName, Object[] parameters, boolean html);

  public abstract void sendEmail(Map<EmailField,String> properties, IPage
page, Object[] parameters, boolean html);
  public abstract void sendEmail(Map<EmailField,String> properties, String
content, boolean html);


The page emailed can be external and you can pass parameters to it. The
service doesn't interfere with the current rendering.
Here is a small example:

  @InjectObject("service:actualis.tapestry.email.EmailEngine")
  public abstract EmailEngine getEmailEngine();

  public void emailConfig() {
    Map<EmailField,String> emailProps = new HashMap<EmailField,String>();
    emailProps.put(EmailField.SUBJECT,"Votre devis");
    emailProps.put(EmailField.FROM, "config@actualis.com");
    emailProps.put(EmailField.TO, getEmailClient());
    getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
Object[] { getConfiguration() }, false);
  }

If anyone is interested I can send my stuff... I wouldn't mind contributing
my component to a tapestry component repository but I did not find any
information on how to contribute.


-- 
Thanks,

Henri.

Re: tapestry email service

Posted by "Brian K. Wallace" <br...@transmorphix.com>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

There is a link on the home page to Tassel - under Related Projects

Peter Svensson wrote:
> Actually, one does not exclude the other. Tassel has a large number of
> components already. My only gripe with tassel is that there is not direct
> link to it from the tapestry homepage, so you have to kind of look for
> it in
> the wiki or google for something like it to find it.
> 
> Cheers,
> PS

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)

iD8DBQFEcMaGaCoPKRow/gARAmi9AJ4iJD1dwTLfpUbi1caEtyGcuOlxggCgzIJu
jPqzRFRwME0s8Mb3X9T7HgQ=
=wl6O
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: tapestry email service

Posted by Peter Svensson <ps...@gmail.com>.
Actually, one does not exclude the other. Tassel has a large number of
components already. My only gripe with tassel is that there is not direct
link to it from the tapestry homepage, so you have to kind of look for it in
the wiki or google for something like it to find it.

Cheers,
PS

On 5/21/06, Julio C. Rivera <ju...@gmail.com> wrote:
>
> What about publishing it on Tassel (http://equalitylearning.org/Tassel)?.
>
> Best regards.
>
> 2006/5/21, Henri Dupre <he...@gmail.com>:
> >
> > I finished packaging my email service into a nice jar file... You just
> > drop
> > it in the classpath and then you can inject the email service in any
> page.
> >
> > The API is:
> >
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> String
> > pageName, Object[] parameters, boolean html);
> >
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> IPage
> > page, Object[] parameters, boolean html);
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> String
> > content, boolean html);
> >
> >
> > The page emailed can be external and you can pass parameters to it. The
> > service doesn't interfere with the current rendering.
> > Here is a small example:
> >
> >   @InjectObject("service:actualis.tapestry.email.EmailEngine")
> >   public abstract EmailEngine getEmailEngine();
> >
> >   public void emailConfig() {
> >     Map<EmailField,String> emailProps = new
> HashMap<EmailField,String>();
> >     emailProps.put(EmailField.SUBJECT,"Votre devis");
> >     emailProps.put(EmailField.FROM, "config@actualis.com");
> >     emailProps.put(EmailField.TO, getEmailClient());
> >     getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> > Object[] { getConfiguration() }, false);
> >   }
> >
> > If anyone is interested I can send my stuff... I wouldn't mind
> > contributing
> > my component to a tapestry component repository but I did not find any
> > information on how to contribute.
> >
> >
> > --
> > Thanks,
> >
> > Henri.
> >
> >
>
>

Re: tapestry email service

Posted by Peter Svensson <ps...@gmail.com>.
<blush>Oh, right. There it was all along. Sorry </blush>

Cheers,
PS

On 5/21/06, Henri Dupre <he...@gmail.com> wrote:
>
> I just had a look at tassel, it doesn't look bad but they don't seem to
> provide any cvs or svn repository?
> For now I uploaded it on our server
> http://www.actualis.com/tapestry/tapestry-email-0.1.0.zip
>
> Henri.
>
>
> On 5/21/06, Julio C. Rivera <ju...@gmail.com> wrote:
> >
> > What about publishing it on Tassel (http://equalitylearning.org/Tassel)
> ?.
> >
> > Best regards.
> >
> > 2006/5/21, Henri Dupre <he...@gmail.com>:
> > >
> > > I finished packaging my email service into a nice jar file... You just
> > > drop
> > > it in the classpath and then you can inject the email service in any
> > page.
> > >
> > > The API is:
> > >
> > >   public abstract void sendEmail(Map<EmailField,String> properties,
> > String
> > > pageName, Object[] parameters, boolean html);
> > >
> > >   public abstract void sendEmail(Map<EmailField,String> properties,
> > IPage
> > > page, Object[] parameters, boolean html);
> > >   public abstract void sendEmail(Map<EmailField,String> properties,
> > String
> > > content, boolean html);
> > >
> > >
> > > The page emailed can be external and you can pass parameters to it.
> The
> > > service doesn't interfere with the current rendering.
> > > Here is a small example:
> > >
> > >   @InjectObject("service:actualis.tapestry.email.EmailEngine")
> > >   public abstract EmailEngine getEmailEngine();
> > >
> > >   public void emailConfig() {
> > >     Map<EmailField,String> emailProps = new
> > HashMap<EmailField,String>();
> > >     emailProps.put(EmailField.SUBJECT,"Votre devis");
> > >     emailProps.put(EmailField.FROM, "config@actualis.com");
> > >     emailProps.put(EmailField.TO, getEmailClient());
> > >     getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt",
> new
> > > Object[] { getConfiguration() }, false);
> > >   }
> > >
> > > If anyone is interested I can send my stuff... I wouldn't mind
> > > contributing
> > > my component to a tapestry component repository but I did not find any
> > > information on how to contribute.
> > >
> > >
> > > --
> > > Thanks,
> > >
> > > Henri.
> > >
> > >
> >
> >
>
>
> --
> Thanks,
>
> Henri.
>
>

Re: tapestry email service

Posted by Henri Dupre <he...@gmail.com>.
I just had a look at tassel, it doesn't look bad but they don't seem to
provide any cvs or svn repository?
For now I uploaded it on our server
http://www.actualis.com/tapestry/tapestry-email-0.1.0.zip

Henri.


On 5/21/06, Julio C. Rivera <ju...@gmail.com> wrote:
>
> What about publishing it on Tassel (http://equalitylearning.org/Tassel)?.
>
> Best regards.
>
> 2006/5/21, Henri Dupre <he...@gmail.com>:
> >
> > I finished packaging my email service into a nice jar file... You just
> > drop
> > it in the classpath and then you can inject the email service in any
> page.
> >
> > The API is:
> >
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> String
> > pageName, Object[] parameters, boolean html);
> >
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> IPage
> > page, Object[] parameters, boolean html);
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> String
> > content, boolean html);
> >
> >
> > The page emailed can be external and you can pass parameters to it. The
> > service doesn't interfere with the current rendering.
> > Here is a small example:
> >
> >   @InjectObject("service:actualis.tapestry.email.EmailEngine")
> >   public abstract EmailEngine getEmailEngine();
> >
> >   public void emailConfig() {
> >     Map<EmailField,String> emailProps = new
> HashMap<EmailField,String>();
> >     emailProps.put(EmailField.SUBJECT,"Votre devis");
> >     emailProps.put(EmailField.FROM, "config@actualis.com");
> >     emailProps.put(EmailField.TO, getEmailClient());
> >     getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> > Object[] { getConfiguration() }, false);
> >   }
> >
> > If anyone is interested I can send my stuff... I wouldn't mind
> > contributing
> > my component to a tapestry component repository but I did not find any
> > information on how to contribute.
> >
> >
> > --
> > Thanks,
> >
> > Henri.
> >
> >
>
>


-- 
Thanks,

Henri.

Re: tapestry email service

Posted by "Julio C. Rivera" <ju...@gmail.com>.
What about publishing it on Tassel (http://equalitylearning.org/Tassel)?.

Best regards.

2006/5/21, Henri Dupre <he...@gmail.com>:
>
> I finished packaging my email service into a nice jar file... You just
> drop
> it in the classpath and then you can inject the email service in any page.
>
> The API is:
>
>   public abstract void sendEmail(Map<EmailField,String> properties, String
> pageName, Object[] parameters, boolean html);
>
>   public abstract void sendEmail(Map<EmailField,String> properties, IPage
> page, Object[] parameters, boolean html);
>   public abstract void sendEmail(Map<EmailField,String> properties, String
> content, boolean html);
>
>
> The page emailed can be external and you can pass parameters to it. The
> service doesn't interfere with the current rendering.
> Here is a small example:
>
>   @InjectObject("service:actualis.tapestry.email.EmailEngine")
>   public abstract EmailEngine getEmailEngine();
>
>   public void emailConfig() {
>     Map<EmailField,String> emailProps = new HashMap<EmailField,String>();
>     emailProps.put(EmailField.SUBJECT,"Votre devis");
>     emailProps.put(EmailField.FROM, "config@actualis.com");
>     emailProps.put(EmailField.TO, getEmailClient());
>     getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> Object[] { getConfiguration() }, false);
>   }
>
> If anyone is interested I can send my stuff... I wouldn't mind
> contributing
> my component to a tapestry component repository but I did not find any
> information on how to contribute.
>
>
> --
> Thanks,
>
> Henri.
>
>

Re: tapestry email service

Posted by Ted Steen <te...@gmail.com>.
You are right, I figured it out when I read your code.
Now it is working fine.


2006/5/28, Henri Dupre <he...@gmail.com>:
> Hi Ted,
>
> It sounds like you don't have any JNDI available on your server. Wouldn't
> you be using Jetty? Jetty doesn't have any JNDI by default and I never did
> figure out how to get Javamail working in Jetty.
>
> My service assumes that a Javamail session is available through JNDI on
> "mail/Session".
> On tomcat I have in server.xml
>     <Resource
>       name="mail/Session"
>       type="javax.mail.Session"
>       mail.smtp.host="smtp.server.com"
>       mail.mime.charset="ISO-8859-1"/>
>
> and I have a context.xml inside my war file with
>
> <ResourceLink name="mail/Session" global="mail/Session" type="
> javax.mail.Session"/>
>
>
>
> On 5/27/06, Ted Steen <te...@gmail.com> wrote:
> >
> > I get this exception when I try to send a mail with the service (just
> > like you do in your example)
> >
> > I'm using javax.mail 1.4 and javax.activation 1.1 (as needed by javax.mail
> > )
> >
> > javax.naming.NoInitialContextException: Need to specify class name in
> > environment or system property, or as an applet parameter, or in an
> > application resource file:  java.naming.factory.initial
> >        at javax.naming.spi.NamingManager.getInitialContext(
> > NamingManager.java:645)
> >        at javax.naming.InitialContext.getDefaultInitCtx(
> > InitialContext.java:247)
> >        at javax.naming.InitialContext.getURLOrDefaultInitCtx(
> > InitialContext.java:284)
> >        at javax.naming.InitialContext.lookup(InitialContext.java:351)
> >        at actualis.web.tapestry.email.EmailEngineImpl.getMailSession(
> > EmailEngineImpl.java:111)
> >        at actualis.web.tapestry.email.EmailEngineImpl.sendMessage(
> > EmailEngineImpl.java:220)
> >        at actualis.web.tapestry.email.EmailEngineImpl.renderAndSendPage(
> > EmailEngineImpl.java:148)
> >        at actualis.web.tapestry.email.EmailEngineImpl.sendEmail(
> > EmailEngineImpl.java:172)
> >        at
> > $EmailEngine_10b756c789e.sendEmail($EmailEngine_10b756c789e.java)
> >        at
> > $EmailEngine_10b756c789d.sendEmail($EmailEngine_10b756c789d.java)
> >        at net.keso.ted.tapestrySandbox.pages.mail.MailTest.doSendMail(
> > MailTest.java:28)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:39)
> >        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:25)
> >        at java.lang.reflect.Method.invoke(Method.java:585)
> >        at
> > org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(
> > ListenerMethodInvokerImpl.java:214)
> >        at
> > org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod
> > (ListenerMethodInvokerImpl.java:155)
> >        at
> > org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(
> > ListenerMethodInvokerImpl.java:124)
> >        at
> > org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod
> > (ListenerMethodInvokerImpl.java:65)
> >        at org.apache.tapestry.listener.SyntheticListener.actionTriggered(
> > SyntheticListener.java:51)
> >        at
> > org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(
> > ListenerMethodBinding.java:77)
> >        at
> > org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(
> > ListenerInvokerTerminator.java:51)
> >        at
> > $ListenerInvoker_10b756c7786.invokeListener($ListenerInvoker_10b756c7786.java)
> >        at
> > $ListenerInvoker_10b756c7785.invokeListener($ListenerInvoker_10b756c7785.java)
> >        at org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:105)
> >        at org.apache.tapestry.engine.DirectService.triggerComponent(
> > DirectService.java:146)
> >        at org.apache.tapestry.engine.DirectService.service(
> > DirectService.java:132)
> >        at
> > $IEngineService_10b756c77f1.service($IEngineService_10b756c77f1.java)
> >        at
> > org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
> > EngineServiceOuterProxy.java:66)
> >        at org.apache.tapestry.engine.AbstractEngine.service(
> > AbstractEngine.java:248)
> >        at org.apache.tapestry.services.impl.InvokeEngineTerminator.service
> > (InvokeEngineTerminator.java:60)
> >        at
> > $WebRequestServicer_10b756c77bd.service($WebRequestServicer_10b756c77bd.java)
> >        at com.carmanconsulting.tapernate.filter.TapernateFilter.service(
> > TapernateFilter.java:69)
> >        at
> > $WebRequestServicerFilter_10b756c77bb.service($WebRequestServicerFilter_10b756c77bb.java)
> >        at
> > $WebRequestServicer_10b756c77bf.service($WebRequestServicer_10b756c77bf.java)
> >        at
> > $WebRequestServicer_10b756c77b7.service($WebRequestServicer_10b756c77b7.java)
> >        at
> > org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
> > (WebRequestServicerPipelineBridge.java:56)
> >        at
> > $ServletRequestServicer_10b756c779b.service($ServletRequestServicer_10b756c779b.java)
> >        at org.apache.tapestry.request.DecodedRequestInjector.service(
> > DecodedRequestInjector.java:55)
> >        at
> > $ServletRequestServicerFilter_10b756c7797.service($ServletRequestServicerFilter_10b756c7797.java)
> >        at
> > $ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
> >        at org.apache.tapestry.multipart.MultipartDecoderFilter.service(
> > MultipartDecoderFilter.java:52)
> >        at
> > $ServletRequestServicerFilter_10b756c7795.service($ServletRequestServicerFilter_10b756c7795.java)
> >        at
> > $ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
> >        at org.apache.tapestry.services.impl.SetupRequestEncoding.service(
> > SetupRequestEncoding.java:53)
> >        at
> > $ServletRequestServicerFilter_10b756c7799.service($ServletRequestServicerFilter_10b756c7799.java)
> >        at
> > $ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
> >        at
> > $ServletRequestServicer_10b756c778f.service($ServletRequestServicer_10b756c778f.java)
> >        at org.apache.tapestry.ApplicationServlet.doService(
> > ApplicationServlet.java:123)
> >        at org.apache.tapestry.ApplicationServlet.doGet(
> > ApplicationServlet.java:79)
> >        at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
> >        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> >        at org.mortbay.jetty.servlet.ServletHolder.handle(
> > ServletHolder.java:428)
> >        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> > WebApplicationHandler.java:473)
> >        at org.mortbay.jetty.servlet.ServletHandler.handle(
> > ServletHandler.java:568)
> >        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
> >        at org.mortbay.jetty.servlet.WebApplicationContext.handle(
> > WebApplicationContext.java:633)
> >        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> >        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> >        at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
> >        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
> > :986)
> >        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
> >        at org.mortbay.http.SocketListener.handleConnection(
> > SocketListener.java:245)
> >        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
> >        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> >
> > 2006/5/21, Henri Dupre <he...@gmail.com>:
> > > I finished packaging my email service into a nice jar file... You just
> > drop
> > > it in the classpath and then you can inject the email service in any
> > page.
> > >
> > > The API is:
> > >
> > >   public abstract void sendEmail(Map<EmailField,String> properties,
> > String
> > > pageName, Object[] parameters, boolean html);
> > >
> > >   public abstract void sendEmail(Map<EmailField,String> properties,
> > IPage
> > > page, Object[] parameters, boolean html);
> > >   public abstract void sendEmail(Map<EmailField,String> properties,
> > String
> > > content, boolean html);
> > >
> > >
> > > The page emailed can be external and you can pass parameters to it. The
> > > service doesn't interfere with the current rendering.
> > > Here is a small example:
> > >
> > >   @InjectObject("service:actualis.tapestry.email.EmailEngine")
> > >   public abstract EmailEngine getEmailEngine();
> > >
> > >   public void emailConfig() {
> > >     Map<EmailField,String> emailProps = new
> > HashMap<EmailField,String>();
> > >     emailProps.put(EmailField.SUBJECT,"Votre devis");
> > >     emailProps.put(EmailField.FROM, "config@actualis.com");
> > >     emailProps.put(EmailField.TO, getEmailClient());
> > >     getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> > > Object[] { getConfiguration() }, false);
> > >   }
> > >
> > > If anyone is interested I can send my stuff... I wouldn't mind
> > contributing
> > > my component to a tapestry component repository but I did not find any
> > > information on how to contribute.
> > >
> > >
> > > --
> > > Thanks,
> > >
> > > Henri.
> > >
> > >
> >
> >
> > --
> > /ted
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> Thanks,
>
> Henri.
>
>


-- 
/ted

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: tapestry email service

Posted by Henri Dupre <he...@gmail.com>.
Hi Ted,

It sounds like you don't have any JNDI available on your server. Wouldn't
you be using Jetty? Jetty doesn't have any JNDI by default and I never did
figure out how to get Javamail working in Jetty.

My service assumes that a Javamail session is available through JNDI on
"mail/Session".
On tomcat I have in server.xml
    <Resource
      name="mail/Session"
      type="javax.mail.Session"
      mail.smtp.host="smtp.server.com"
      mail.mime.charset="ISO-8859-1"/>

and I have a context.xml inside my war file with

<ResourceLink name="mail/Session" global="mail/Session" type="
javax.mail.Session"/>



On 5/27/06, Ted Steen <te...@gmail.com> wrote:
>
> I get this exception when I try to send a mail with the service (just
> like you do in your example)
>
> I'm using javax.mail 1.4 and javax.activation 1.1 (as needed by javax.mail
> )
>
> javax.naming.NoInitialContextException: Need to specify class name in
> environment or system property, or as an applet parameter, or in an
> application resource file:  java.naming.factory.initial
>        at javax.naming.spi.NamingManager.getInitialContext(
> NamingManager.java:645)
>        at javax.naming.InitialContext.getDefaultInitCtx(
> InitialContext.java:247)
>        at javax.naming.InitialContext.getURLOrDefaultInitCtx(
> InitialContext.java:284)
>        at javax.naming.InitialContext.lookup(InitialContext.java:351)
>        at actualis.web.tapestry.email.EmailEngineImpl.getMailSession(
> EmailEngineImpl.java:111)
>        at actualis.web.tapestry.email.EmailEngineImpl.sendMessage(
> EmailEngineImpl.java:220)
>        at actualis.web.tapestry.email.EmailEngineImpl.renderAndSendPage(
> EmailEngineImpl.java:148)
>        at actualis.web.tapestry.email.EmailEngineImpl.sendEmail(
> EmailEngineImpl.java:172)
>        at
> $EmailEngine_10b756c789e.sendEmail($EmailEngine_10b756c789e.java)
>        at
> $EmailEngine_10b756c789d.sendEmail($EmailEngine_10b756c789d.java)
>        at net.keso.ted.tapestrySandbox.pages.mail.MailTest.doSendMail(
> MailTest.java:28)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at
> org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(
> ListenerMethodInvokerImpl.java:214)
>        at
> org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod
> (ListenerMethodInvokerImpl.java:155)
>        at
> org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(
> ListenerMethodInvokerImpl.java:124)
>        at
> org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod
> (ListenerMethodInvokerImpl.java:65)
>        at org.apache.tapestry.listener.SyntheticListener.actionTriggered(
> SyntheticListener.java:51)
>        at
> org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(
> ListenerMethodBinding.java:77)
>        at
> org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(
> ListenerInvokerTerminator.java:51)
>        at
> $ListenerInvoker_10b756c7786.invokeListener($ListenerInvoker_10b756c7786.java)
>        at
> $ListenerInvoker_10b756c7785.invokeListener($ListenerInvoker_10b756c7785.java)
>        at org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:105)
>        at org.apache.tapestry.engine.DirectService.triggerComponent(
> DirectService.java:146)
>        at org.apache.tapestry.engine.DirectService.service(
> DirectService.java:132)
>        at
> $IEngineService_10b756c77f1.service($IEngineService_10b756c77f1.java)
>        at
> org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
> EngineServiceOuterProxy.java:66)
>        at org.apache.tapestry.engine.AbstractEngine.service(
> AbstractEngine.java:248)
>        at org.apache.tapestry.services.impl.InvokeEngineTerminator.service
> (InvokeEngineTerminator.java:60)
>        at
> $WebRequestServicer_10b756c77bd.service($WebRequestServicer_10b756c77bd.java)
>        at com.carmanconsulting.tapernate.filter.TapernateFilter.service(
> TapernateFilter.java:69)
>        at
> $WebRequestServicerFilter_10b756c77bb.service($WebRequestServicerFilter_10b756c77bb.java)
>        at
> $WebRequestServicer_10b756c77bf.service($WebRequestServicer_10b756c77bf.java)
>        at
> $WebRequestServicer_10b756c77b7.service($WebRequestServicer_10b756c77b7.java)
>        at
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
> (WebRequestServicerPipelineBridge.java:56)
>        at
> $ServletRequestServicer_10b756c779b.service($ServletRequestServicer_10b756c779b.java)
>        at org.apache.tapestry.request.DecodedRequestInjector.service(
> DecodedRequestInjector.java:55)
>        at
> $ServletRequestServicerFilter_10b756c7797.service($ServletRequestServicerFilter_10b756c7797.java)
>        at
> $ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
>        at org.apache.tapestry.multipart.MultipartDecoderFilter.service(
> MultipartDecoderFilter.java:52)
>        at
> $ServletRequestServicerFilter_10b756c7795.service($ServletRequestServicerFilter_10b756c7795.java)
>        at
> $ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
>        at org.apache.tapestry.services.impl.SetupRequestEncoding.service(
> SetupRequestEncoding.java:53)
>        at
> $ServletRequestServicerFilter_10b756c7799.service($ServletRequestServicerFilter_10b756c7799.java)
>        at
> $ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
>        at
> $ServletRequestServicer_10b756c778f.service($ServletRequestServicer_10b756c778f.java)
>        at org.apache.tapestry.ApplicationServlet.doService(
> ApplicationServlet.java:123)
>        at org.apache.tapestry.ApplicationServlet.doGet(
> ApplicationServlet.java:79)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>        at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:473)
>        at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:568)
>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>        at org.mortbay.jetty.servlet.WebApplicationContext.handle(
> WebApplicationContext.java:633)
>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>        at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
>        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
> :986)
>        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
>        at org.mortbay.http.SocketListener.handleConnection(
> SocketListener.java:245)
>        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>
> 2006/5/21, Henri Dupre <he...@gmail.com>:
> > I finished packaging my email service into a nice jar file... You just
> drop
> > it in the classpath and then you can inject the email service in any
> page.
> >
> > The API is:
> >
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> String
> > pageName, Object[] parameters, boolean html);
> >
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> IPage
> > page, Object[] parameters, boolean html);
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> String
> > content, boolean html);
> >
> >
> > The page emailed can be external and you can pass parameters to it. The
> > service doesn't interfere with the current rendering.
> > Here is a small example:
> >
> >   @InjectObject("service:actualis.tapestry.email.EmailEngine")
> >   public abstract EmailEngine getEmailEngine();
> >
> >   public void emailConfig() {
> >     Map<EmailField,String> emailProps = new
> HashMap<EmailField,String>();
> >     emailProps.put(EmailField.SUBJECT,"Votre devis");
> >     emailProps.put(EmailField.FROM, "config@actualis.com");
> >     emailProps.put(EmailField.TO, getEmailClient());
> >     getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> > Object[] { getConfiguration() }, false);
> >   }
> >
> > If anyone is interested I can send my stuff... I wouldn't mind
> contributing
> > my component to a tapestry component repository but I did not find any
> > information on how to contribute.
> >
> >
> > --
> > Thanks,
> >
> > Henri.
> >
> >
>
>
> --
> /ted
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Thanks,

Henri.

Re: tapestry email service

Posted by Ted Steen <te...@gmail.com>.
I get this exception when I try to send a mail with the service (just
like you do in your example)

I'm using javax.mail 1.4 and javax.activation 1.1 (as needed by javax.mail)

javax.naming.NoInitialContextException: Need to specify class name in
environment or system property, or as an applet parameter, or in an
application resource file:  java.naming.factory.initial
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
	at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
	at javax.naming.InitialContext.lookup(InitialContext.java:351)
	at actualis.web.tapestry.email.EmailEngineImpl.getMailSession(EmailEngineImpl.java:111)
	at actualis.web.tapestry.email.EmailEngineImpl.sendMessage(EmailEngineImpl.java:220)
	at actualis.web.tapestry.email.EmailEngineImpl.renderAndSendPage(EmailEngineImpl.java:148)
	at actualis.web.tapestry.email.EmailEngineImpl.sendEmail(EmailEngineImpl.java:172)
	at $EmailEngine_10b756c789e.sendEmail($EmailEngine_10b756c789e.java)
	at $EmailEngine_10b756c789d.sendEmail($EmailEngine_10b756c789d.java)
	at net.keso.ted.tapestrySandbox.pages.mail.MailTest.doSendMail(MailTest.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(ListenerMethodInvokerImpl.java:214)
	at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:155)
	at org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:124)
	at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:65)
	at org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:51)
	at org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(ListenerMethodBinding.java:77)
	at org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(ListenerInvokerTerminator.java:51)
	at $ListenerInvoker_10b756c7786.invokeListener($ListenerInvoker_10b756c7786.java)
	at $ListenerInvoker_10b756c7785.invokeListener($ListenerInvoker_10b756c7785.java)
	at org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:105)
	at org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:146)
	at org.apache.tapestry.engine.DirectService.service(DirectService.java:132)
	at $IEngineService_10b756c77f1.service($IEngineService_10b756c77f1.java)
	at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
	at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
	at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
	at $WebRequestServicer_10b756c77bd.service($WebRequestServicer_10b756c77bd.java)
	at com.carmanconsulting.tapernate.filter.TapernateFilter.service(TapernateFilter.java:69)
	at $WebRequestServicerFilter_10b756c77bb.service($WebRequestServicerFilter_10b756c77bb.java)
	at $WebRequestServicer_10b756c77bf.service($WebRequestServicer_10b756c77bf.java)
	at $WebRequestServicer_10b756c77b7.service($WebRequestServicer_10b756c77b7.java)
	at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
	at $ServletRequestServicer_10b756c779b.service($ServletRequestServicer_10b756c779b.java)
	at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
	at $ServletRequestServicerFilter_10b756c7797.service($ServletRequestServicerFilter_10b756c7797.java)
	at $ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
	at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
	at $ServletRequestServicerFilter_10b756c7795.service($ServletRequestServicerFilter_10b756c7795.java)
	at $ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
	at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
	at $ServletRequestServicerFilter_10b756c7799.service($ServletRequestServicerFilter_10b756c7799.java)
	at $ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
	at $ServletRequestServicer_10b756c778f.service($ServletRequestServicer_10b756c778f.java)
	at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
	at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
	at org.mortbay.http.HttpServer.service(HttpServer.java:909)
	at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

2006/5/21, Henri Dupre <he...@gmail.com>:
> I finished packaging my email service into a nice jar file... You just drop
> it in the classpath and then you can inject the email service in any page.
>
> The API is:
>
>   public abstract void sendEmail(Map<EmailField,String> properties, String
> pageName, Object[] parameters, boolean html);
>
>   public abstract void sendEmail(Map<EmailField,String> properties, IPage
> page, Object[] parameters, boolean html);
>   public abstract void sendEmail(Map<EmailField,String> properties, String
> content, boolean html);
>
>
> The page emailed can be external and you can pass parameters to it. The
> service doesn't interfere with the current rendering.
> Here is a small example:
>
>   @InjectObject("service:actualis.tapestry.email.EmailEngine")
>   public abstract EmailEngine getEmailEngine();
>
>   public void emailConfig() {
>     Map<EmailField,String> emailProps = new HashMap<EmailField,String>();
>     emailProps.put(EmailField.SUBJECT,"Votre devis");
>     emailProps.put(EmailField.FROM, "config@actualis.com");
>     emailProps.put(EmailField.TO, getEmailClient());
>     getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> Object[] { getConfiguration() }, false);
>   }
>
> If anyone is interested I can send my stuff... I wouldn't mind contributing
> my component to a tapestry component repository but I did not find any
> information on how to contribute.
>
>
> --
> Thanks,
>
> Henri.
>
>


-- 
/ted

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: tapestry email service

Posted by Onno Scheffers <on...@piraya.nl>.
> If anyone is interested I can send my stuff... I wouldn't mind 
> contributing
> my component to a tapestry component repository but I did not find any
> information on how to contribute.

Looks great, so yes.. I'm interested.

Regards,

Onno

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: tapestry email service

Posted by Hugo Palma <hu...@gmail.com>.
Great work Henri, i also would like to get my hands on that......

Being this a drop in jar and all i think that it would fit nicely in the 
Tapestry@JavaForge project. You should probably ask Howard, that leads 
that project about that.

Cheers

Hugo

Henri Dupre wrote:
> I finished packaging my email service into a nice jar file... You just 
> drop
> it in the classpath and then you can inject the email service in any 
> page.
>
> The API is:
>
>  public abstract void sendEmail(Map<EmailField,String> properties, String
> pageName, Object[] parameters, boolean html);
>
>  public abstract void sendEmail(Map<EmailField,String> properties, IPage
> page, Object[] parameters, boolean html);
>  public abstract void sendEmail(Map<EmailField,String> properties, String
> content, boolean html);
>
>
> The page emailed can be external and you can pass parameters to it. The
> service doesn't interfere with the current rendering.
> Here is a small example:
>
>  @InjectObject("service:actualis.tapestry.email.EmailEngine")
>  public abstract EmailEngine getEmailEngine();
>
>  public void emailConfig() {
>    Map<EmailField,String> emailProps = new HashMap<EmailField,String>();
>    emailProps.put(EmailField.SUBJECT,"Votre devis");
>    emailProps.put(EmailField.FROM, "config@actualis.com");
>    emailProps.put(EmailField.TO, getEmailClient());
>    getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> Object[] { getConfiguration() }, false);
>  }
>
> If anyone is interested I can send my stuff... I wouldn't mind 
> contributing
> my component to a tapestry component repository but I did not find any
> information on how to contribute.
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Persistent Properites in pageAttached

Posted by Pratibha Gopalam <pr...@ltp.soft.net>.
Hello all,

When I try to access the persistent properties in the pageAttached 
method, I always get null. But I am able to access the persistent 
properties in any of the listener methods. I looked up the Javadoc 
(http://jakarta.apache.org/tapestry/tapestry/apidocs/index.html) and it 
says the persistent page properties will be restored before the 
notification to the PageAttachListener

I also noticed that the pageAttached method is being called more than 
once.. I expected it to be called only once per page load.

Any ideas on what I could be doing wrong?

thanks,
Pratibha

------------------------------DISCLAIMER------------------------------
This message is for the named person's use only. It may contain 
confidential, proprietary or legally privileged information. No
confidentiality or privilege is waived or lost by any mistransmission. 

If you receive this message in error, please immediately delete it and 
all copies of it from your system, destroy any hard copies of it and 
notify the sender. You must not, directly or indirectly, use, disclose, 
distribute, print, or copy any part of this message if you are not the 
intended recipient. 

Lisle Technology Partners Pvt. Ltd. and any of its subsidiaries each 
reserve the right to monitor all e-mail communications through its 
networks. 

Any views expressed in this message are those of the 
individual sender, except where the message states otherwise and the 
sender is authorized to state them to be the views of any such entity.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: tapestry email service

Posted by Peter Svensson <ps...@gmail.com>.
This so soo cool!  Thanks!
I would be very happy to get a copy, waiting for any official recognition.

Cheers,
PS

On 5/21/06, Henri Dupre <he...@gmail.com> wrote:
>
> I finished packaging my email service into a nice jar file... You just
> drop
> it in the classpath and then you can inject the email service in any page.
>
> The API is:
>
>   public abstract void sendEmail(Map<EmailField,String> properties, String
> pageName, Object[] parameters, boolean html);
>
>   public abstract void sendEmail(Map<EmailField,String> properties, IPage
> page, Object[] parameters, boolean html);
>   public abstract void sendEmail(Map<EmailField,String> properties, String
> content, boolean html);
>
>
> The page emailed can be external and you can pass parameters to it. The
> service doesn't interfere with the current rendering.
> Here is a small example:
>
>   @InjectObject("service:actualis.tapestry.email.EmailEngine")
>   public abstract EmailEngine getEmailEngine();
>
>   public void emailConfig() {
>     Map<EmailField,String> emailProps = new HashMap<EmailField,String>();
>     emailProps.put(EmailField.SUBJECT,"Votre devis");
>     emailProps.put(EmailField.FROM, "config@actualis.com");
>     emailProps.put(EmailField.TO, getEmailClient());
>     getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> Object[] { getConfiguration() }, false);
>   }
>
> If anyone is interested I can send my stuff... I wouldn't mind
> contributing
> my component to a tapestry component repository but I did not find any
> information on how to contribute.
>
>
> --
> Thanks,
>
> Henri.
>
>

Re: tapestry email service

Posted by Warner Onstine <sw...@warneronstine.com>.
There is also the Tassel project at TapestryComponents.org that  
allows you to upload (http://www.tapestrycomponents.org/Tassel/app).

-warner

On May 21, 2006, at 11:43 AM, Henri Dupre wrote:

> I finished packaging my email service into a nice jar file... You  
> just drop
> it in the classpath and then you can inject the email service in  
> any page.
>
> The API is:
>
>  public abstract void sendEmail(Map<EmailField,String> properties,  
> String
> pageName, Object[] parameters, boolean html);
>
>  public abstract void sendEmail(Map<EmailField,String> properties,  
> IPage
> page, Object[] parameters, boolean html);
>  public abstract void sendEmail(Map<EmailField,String> properties,  
> String
> content, boolean html);
>
>
> The page emailed can be external and you can pass parameters to it.  
> The
> service doesn't interfere with the current rendering.
> Here is a small example:
>
>  @InjectObject("service:actualis.tapestry.email.EmailEngine")
>  public abstract EmailEngine getEmailEngine();
>
>  public void emailConfig() {
>    Map<EmailField,String> emailProps = new  
> HashMap<EmailField,String>();
>    emailProps.put(EmailField.SUBJECT,"Votre devis");
>    emailProps.put(EmailField.FROM, "config@actualis.com");
>    emailProps.put(EmailField.TO, getEmailClient());
>    getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> Object[] { getConfiguration() }, false);
>  }
>
> If anyone is interested I can send my stuff... I wouldn't mind  
> contributing
> my component to a tapestry component repository but I did not find any
> information on how to contribute.
>
>
> -- 
> Thanks,
>
> Henri.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: tapestry email service

Posted by Henri Dupre <he...@gmail.com>.
No it would not but it would require very little changes to work with JDK
1.4.


On 5/22/06, Gentry, Michael (Contractor) <mi...@fanniemae.com>
wrote:
>
> Henri, will the service work with Java 1.4.x?
>
> Thanks!
>
> /dev/mrg
>
>
> -----Original Message-----
> From: Henri Dupre [mailto:henri.dupre@gmail.com]
> Sent: Sunday, May 21, 2006 2:44 PM
> To: Tapestry users
> Subject: tapestry email service
>
>
> I finished packaging my email service into a nice jar file... You just
> drop
> it in the classpath and then you can inject the email service in any
> page.
>
> The API is:
>
> public abstract void sendEmail(Map<EmailField,String> properties,
> String
> pageName, Object[] parameters, boolean html);
>
> public abstract void sendEmail(Map<EmailField,String> properties,
> IPage
> page, Object[] parameters, boolean html);
> public abstract void sendEmail(Map<EmailField,String> properties,
> String
> content, boolean html);
>
>
> The page emailed can be external and you can pass parameters to it. The
> service doesn't interfere with the current rendering.
> Here is a small example:
>
> @InjectObject("service:actualis.tapestry.email.EmailEngine")
> public abstract EmailEngine getEmailEngine();
>
> public void emailConfig() {
>    Map<EmailField,String> emailProps = new
> HashMap<EmailField,String>();
>    emailProps.put(EmailField.SUBJECT,"Votre devis");
>    emailProps.put(EmailField.FROM, "config@actualis.com");
>    emailProps.put(EmailField.TO, getEmailClient());
>    getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> Object[] { getConfiguration() }, false);
> }
>
> If anyone is interested I can send my stuff... I wouldn't mind
> contributing
> my component to a tapestry component repository but I did not find any
> information on how to contribute.
>
>
> --
> Thanks,
>
> Henri.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Thanks,

Henri.

RE: tapestry email service

Posted by "Gentry, Michael (Contractor)" <mi...@fanniemae.com>.
Henri, will the service work with Java 1.4.x?

Thanks!

/dev/mrg


-----Original Message-----
From: Henri Dupre [mailto:henri.dupre@gmail.com] 
Sent: Sunday, May 21, 2006 2:44 PM
To: Tapestry users
Subject: tapestry email service


I finished packaging my email service into a nice jar file... You just
drop
it in the classpath and then you can inject the email service in any
page.

The API is:

  public abstract void sendEmail(Map<EmailField,String> properties,
String
pageName, Object[] parameters, boolean html);

  public abstract void sendEmail(Map<EmailField,String> properties,
IPage
page, Object[] parameters, boolean html);
  public abstract void sendEmail(Map<EmailField,String> properties,
String
content, boolean html);


The page emailed can be external and you can pass parameters to it. The
service doesn't interfere with the current rendering.
Here is a small example:

  @InjectObject("service:actualis.tapestry.email.EmailEngine")
  public abstract EmailEngine getEmailEngine();

  public void emailConfig() {
    Map<EmailField,String> emailProps = new
HashMap<EmailField,String>();
    emailProps.put(EmailField.SUBJECT,"Votre devis");
    emailProps.put(EmailField.FROM, "config@actualis.com");
    emailProps.put(EmailField.TO, getEmailClient());
    getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
Object[] { getConfiguration() }, false);
  }

If anyone is interested I can send my stuff... I wouldn't mind
contributing
my component to a tapestry component repository but I did not find any
information on how to contribute.


-- 
Thanks,

Henri.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org