I've only one page called "EventListener" with this code :

{{groovy}}
import org.xwiki.observation.*
import org.xwiki.observation.event.*
import com.xpn.xwiki.web.*
import com.xpn.xwiki.*
class LoggingEventListener implements EventListener{
    def xwiki
    def context
    LoggingEventListener(xwiki, context)
    {
        this.xwiki = xwiki
        this.context = context
    }
    String getName()
    {
        // The unique name of this event listener
        return "logging"
    }
    List<Event> getEvents()
    {
        // The list of events this listener listens to
        return Arrays.asList(new DocumentSaveEvent())
    }
    // Called by the Observation Manager when an event matches the list of
events returned
    // by getEvents()
    void onEvent(Event event, Object source, Object data)
    {
        // Prevent infinite recursion since in this example we log to wiki
page which
        // triggers a document change... :)
        if (source.fullName != "Main.Logger") {
   def sender = context.user.substring(6)
   def emailcc = xwiki.null
   def emailbcc = xwiki.null
   def pageattachments = []
   def emailcontent = "ceci est un test du mail"
   def result = xwiki.mailsender.sendHtmlMessage("${sender}", "
stephanie.roull...@dcnsgroup.com", emailcc, emailbcc, "Test du mail",
emailcontent, document.getContent(), pageattachments)
            def document = xwiki.getDocument("Main.Logger")
            document.setContent("ça marche Sender : ${sender} / Content :
${emailcontent}")
            document.save("Logging event", true)
        }
    }}
// Register against the Observation Manager
def observation = Utils.getComponent(ObservationManager.class)
observation.removeListener("logging")
def listener = new LoggingEventListener(xwiki, xcontext)
observation.addListener(listener)
{{/groovy}}

Have I forgotten something ?

Thanks,
Stéphanie
2012/5/29 Vincent Massol <vinc...@massol.net>

>
> On May 29, 2012, at 1:22 PM, Stéphanie wrote:
>
> > I'm really sorry, I don't understand all this kind of specific words ^^
> Do
> > you want the entire code ? Or what do you want exactly ?
>
> Sorry I meant Observation Manager, not Component Manager.
> See
> http://platform.xwiki.org/xwiki/bin/view/DevGuide/GroovyNotificationTutorial
>
> Thanks
> -Vincent
>
> > In any case, thanks for your answer,
> > Stéphanie
> >
> > 2012/5/29 vmassol [via XWiki] <ml-node+s475771n7579201...@n2.nabble.com>
> >
> >>
> >> On May 29, 2012, at 1:07 PM, Stéphanie Roulland wrote:
> >>
> >>> Hello,
> >>>
> >>> Thank you for your answer, but I'm sorry, I don't understand what you
> >> mean
> >>> by CM.
> >>
> >> Component Manager.
> >>
> >> -Vincent
> >>
> >>> Thanks,
> >>> Stéphanie
> >>>
> >>> 2012/5/29 Vincent Massol <[hidden email]<
> http://user/SendEmail.jtp?type=node&node=7579201&i=0>>
>  >>
> >>>
> >>>> FYI I've just done this in a training I gave last week and it worked
> >>>> nicely.
> >>>>
> >>>> Can you show us the code you've used to register the event listener
> >>>> against the CM?
> >>>>
> >>>> Thanks
> >>>> -Vincent
> >>>>
> >>>> On May 29, 2012, at 9:12 AM, Stéphanie wrote:
> >>>>
> >>>>> Hello everyone,
> >>>>>
> >>>>> I'm trying to send an automatic email and this is the idea I have
> had.
> >>>>>
> >>>>> I used the "Groovy Notification Tutorial"
> >>>>> (
> >>>>
> >>
> http://platform.xwiki.org/xwiki/bin/view/DevGuide/GroovyNotificationTutorial
> >>>> )
> >>>>> and instead of writing in a file, I try to send an email.
> >>>>>
> >>>>> This is my code (I only copy the method onEvent, I didn't change the
> >>>> rest) :
> >>>>>
> >>>>>  void onEvent(Event event, Object source, Object data)
> >>>>>  {
> >>>>>      // Prevent infinite recursion since in this example we log to
> >> wiki
> >>>>> page which
> >>>>>      // triggers a document change... :)
> >>>>>      if (source.fullName != "Main.Logger") {
> >>>>>                     def sender = context.user.substring(6)
> >>>>>                     def emailcc = xwiki.null
> >>>>>                     def emailbcc = xwiki.null
> >>>>>                     def pageattachments = []
> >>>>>                     def emailcontent = "Test"
> >>>>>                     def result =
> >>>> xwiki.mailsender.sendHtmlMessage("${sender}",
> >>>>> "[hidden email] <
> http://user/SendEmail.jtp?type=node&node=7579201&i=1>",
> >> emailcc, emailbcc, "Test du mail", emailcontent,
> >>>>> document.getContent(), pageattachments)
> >>>>>          def document = xwiki.getDocument("Main.Logger")
> >>>>>          document.setContent("Sender : ${sender} / Content :
> >>>>> ${emailcontent}")
> >>>>>          document.save("Logging event", true)
> >>>>>      }
> >>>>>  }
> >>>>>
> >>>>> But when I try this, nothing happened. I don't have any error message
> >> so
> >>>> I
> >>>>> don't know if I make something wrong.
> >>>>>
> >>>>> Do you have an idea of how doing this ?
> >>>>>
> >>>>> Thank you very much for your future answer,
> >>>>> Stéphanie
> _______________________________________________
> users mailing list
> users@xwiki.org
> http://lists.xwiki.org/mailman/listinfo/users
>



-- 
Stéphanie ROULLAND
06.74.85.37.90
-------------------------
Contrat de professionnalisation DCNS
Ingénieur domaine collaboratif
02.29.05.42.23
-------------------------
Elève ingénieur ENIB
3ème année cycle ingénieur
Option informatique
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to