A good helper when you need a usable XWikiContext wherether you are in
 the XWikiContext provider as in:
 @Inject
 Provider<XWikiContext> xcontext;
 it gives you the current context in a request thread and one suitable
 for background thread otherwise.
 
 In fact currently in the component called from my job, I use the 
  following
  to retrieve context and xwiki old-core api, in
initialize():
 ExecutionContext context = execution.getContext();
 this.context = (XWikiContext) context.getProperty("xwikicontext");
 this.xwiki = this.context.getWiki();
 Only Execution is @Injected.
 I'll try to get XWikiContext injected as you propose.
 Thanks !
 Jeremie
>
> On Mon, Sep 30, 2013 at 11:57 PM, Jeremie BOUSQUET
> <jeremie.bousquet(a)gmail.com> wrote:
> > Hello,
> >
> > I'm trying to save a document from inside a job [1] execution, as 
follows
 > > roughly:
> >
> > xwiki.getXWiki(context).saveDocument(doc, comment, context);
> >
> > Nothing really special ... It used to work (out of a job), but now it
> > throws NPE:
> >
> > 
<trace>com.xpn.xwiki.XWiki.stripSegmentFromPath(XWiki.java:4725)</trace>
 > >
<trace>com.xpn.xwiki.XWiki.getRequestWikiName(XWiki.java:566)</trace>
> > <trace>com.xpn.xwiki.XWiki.getXWiki(XWiki.java:492)</trace>
> >
> 
<trace>org.xwiki.contrib.mailarchive.internal.persistence.XWikiPersistence.saveAsUser(XWikiPersistence.java:678)</trace>
 > >
> > Checking source code, it happens there (sorry, I roughly decompiled 
 it):
 > >
> > /*  560 */     if ("1".equals(Param("xwiki.virtual.usepath",
"1"))) {
> > /*  561 */       String uri = request.getRequestURI();
> > /*  562 */       if (LOGGER.isDebugEnabled()) {
> > /*  563 */         LOGGER.debug("Request uri is: " + uri);
> > /*      */       }
> > /*      */
> > /*  566 */       uri = stripSegmentFromPath(uri,
> request.getContextPath());
> >
> > From the logs in DEBUG, I see:
> >
> > "Request uri is: null"
> >
> > ... which is kind of logical I believe, as I'm in a Thread triggered 
by
 > > another thread, and not directly in an
http request.
> >
> > I'm not sure of what I should do from here ... And if my analysis is
> > correct, or if something else is wrong. Maybe I should do something 
 with
   >
ExecutionContext ...
 >
 > Thanks,
 >
 > BR,
 > Jeremie
 >
 > [1] 
http://extensions.xwiki.org/xwiki/bin/view/Extension/Job+Module
 > _______________________________________________
 > devs mailing list
 > devs(a)xwiki.org
 > 
http://lists.xwiki.org/mailman/listinfo/devs
 --
 Thomas Mortagne
 _______________________________________________
 devs mailing list
 devs(a)xwiki.org
 
http://lists.xwiki.org/mailman/listinfo/devs
  _______________________________________________
 devs mailing list
 devs(a)xwiki.org
 
http://lists.xwiki.org/mailman/listinfo/devs  
 --
 Thomas Mortagne
 _______________________________________________
 devs mailing list
 devs(a)xwiki.org
 
http://lists.xwiki.org/mailman/listinfo/devs
   _______________________________________________
 devs mailing list
 devs(a)xwiki.org