(some) more insight. Another thing I tried is the following in the fm template:
${it.class.getMethod("getJobInfo").getName()} ${it.jobInfo!"NULL"} ${it.getJobInfo()} While the first line works, displaying the method name, the second displays NULL and the third throws the exception. Another note is that the method getJobInfo() is never called by the template, while if I override a method defined in a supertype (for example getUriInfo) it is executed regularly. So I guess there is some problem in the way the template engine evaluate the expression looking for the actual method of an inline instance. I have setup a sling logger for freemarker and found that the method getJobInfo is not included in the introspection info for the actual object (big log [1]). So this pattern won't work at least with the actual configuration of the template engine. Enrico [1] Follows the log: ------------- 16.07.2013 10:32:40.573 *DEBUG* [1106793701@qtp-2017787826-51] freemarker.beans Key "jobInfo" was not found on instance of org.apache.stanbol.commons.jobs.web.resources.JobsResource$2. Introspection information for the class is: {getRootUrl=public java.lang.String org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getRootUrl(), getRequestUri=public java.net.URI org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getRequestUri(), mainMenuItems=java.beans.PropertyDescriptor@6398d702, hashCode=public native int java.lang.Object.hashCode(), registeredLinkResources=java.beans.PropertyDescriptor@bf736045, java.lang.Object@11496fc2={public java.net.URI org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getPublicBaseUri()=[Ljava.lang.Class;@2c69c4e9, public boolean java.lang.Object.equals(java.lang.Object)=[Ljava.lang.Class;@53feb3c6, public java.util.List org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getNavigationLinks()=[Ljava.lang.Class;@76ccb73e, public java.lang.String org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getStaticResourcesRootUrl()=[Ljava.lang.Class;@7a128460, public java.util.List org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getRegisteredLinkResources()=[Ljava.lang.Class;@55b0f93c, public final native java.lang.Class java.lang.Object.getClass()=[Ljava.lang.Class;@55bafe17, public java.lang.String org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getStaticRootUrl()=[Ljava.lang.Class;@677fc3f9, public java.net.URI org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getConsoleBaseUri()=[Ljava.lang.Class;@751b4584, public native int java.lang.Object.hashCode()=[Ljava.lang.Class;@5171192c, public java.util.List org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getRegisteredScriptResources()=[Ljava.lang.Class;@582bc179, public java.util.List org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getMainMenuItems()=[Ljava.lang.Class;@20ab1c28, public java.net.URI org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getRequestUri()=[Ljava.lang.Class;@41c596d9, public java.lang.String org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getRootUrl()=[Ljava.lang.Class;@1332a24b, public java.lang.String java.lang.Object.toString()=[Ljava.lang.Class;@613cf3c5}, requestUri=java.beans.PropertyDescriptor@a9193b22, staticRootUrl=java.beans.PropertyDescriptor@ac5c5fb, getNavigationLinks=public java.util.List org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getNavigationLinks(), getPublicBaseUri=public java.net.URI org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getPublicBaseUri(), getRegisteredScriptResources=public java.util.List org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getRegisteredScriptResources(), registeredScriptResources=java.beans.PropertyDescriptor@1b975b12, getClass=public final native java.lang.Class java.lang.Object.getClass(), getMainMenuItems=public java.util.List org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getMainMenuItems(), equals=public boolean java.lang.Object.equals(java.lang.Object), class=java.beans.PropertyDescriptor@88f57024, staticResourcesRootUrl=java.beans.PropertyDescriptor@dd57bb70, consoleBaseUri=java.beans.PropertyDescriptor@5cd93387, getConsoleBaseUri=public java.net.URI org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getConsoleBaseUri(), getStaticRootUrl=public java.lang.String org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getStaticRootUrl(), getStaticResourcesRootUrl=public java.lang.String org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getStaticResourcesRootUrl(), rootUrl=java.beans.PropertyDescriptor@575a742d, getRegisteredLinkResources=public java.util.List org.apache.stanbol.commons.web.base.resource.TemplateLayoutConfiguration.getRegisteredLinkResources(), publicBaseUri=java.beans.PropertyDescriptor@14a41d71, navigationLinks=java.beans.PropertyDescriptor@9297e601, toString=public java.lang.String java.lang.Object.toString()} On 14 July 2013 23:20, Enrico Daga <enricod...@gmail.com> wrote: > Hi Reto, > Yes 1.2 is around and works well. > > I had a look at JobsResource and I found that freemarker variables do not > work at all. I can't say why at the moment, but replacing "this" with an > inline subclass of ResultData deals to an InvalidReferenceException for > anything I try to reference from it even if the "it" var is not null and is > the actual pojo. > Invoking /jobs/test starts a fake background job, you can easily see the > problem by following the url to ping the status (/jobs/{jobId}). > Needs more insight. > > > On 14 July 2013 13:05, Reto Bachmann-Gmür <r...@wymiwyg.com> wrote: > >> Hi Enrico >> >> >> Had quite some problems with this things. On hand OSGi stuff: >> >> >> http://mail-archives.apache.org/mod_mbox/felix-users/201306.mbox/%3CCALvhUEWRe+XKW=2M0e7DwNC8bm=mrakpqng5uq+ax5mocws...@mail.gmail.com%3E >> >> On the other hands jersey dependency on stuff that wasn't yet in central. >> >> If the final version's out and things are working, great! >> >> Reto >> >> >> On Sun, Jul 14, 2013 at 1:13 PM, Enrico Daga <enricod...@gmail.com> >> wrote: >> > Hi Reto, >> > I am trying to run the mini launcher as test but jersey did not start >> > because javax.annotation was 1.1.9-b02 (saw on felix console). The weird >> > thing is that the deployed bundle was 1.2-b04 (as configured in >> bundlelist >> > stanbolcommons and present in .../startup/1/). I changed the bundle >> version >> > to 1.2 and now it starts. Don't know why 1.2-b04 was seen as 1.1.9-b02, >> but >> > is there a special reason why we would need 1.2-b04? >> > >> > Enrico >> > >> > >> > On 12 July 2013 19:15, Enrico Daga <enricod...@gmail.com> wrote: >> > >> >> Hi Reto, yes, now works. Thank you. >> >> >> >> >> >> On 12 July 2013 13:27, Reto Bachmann-Gmür <r...@wymiwyg.com> wrote: >> >> >> >>> Hi Enrico >> >>> >> >>> Thanks a lot for looking into this. >> >>> >> >>> The aim of the ng branch is to be more portable. Most notably this is >> >>> independence of jersey and of the ServletContext hacks. >> >>> >> >>> I'm sorry I removed the jersey specific test only locally. I committed >> >>> the removal and hope that it now compiles for you too. >> >>> >> >>> Cheers, >> >>> Reto >> >>> >> >>> On Fri, Jul 12, 2013 at 2:13 PM, Enrico Daga <enricod...@gmail.com> >> >>> wrote: >> >>> > Hi Reto, >> >>> > sorry for this late reply, for some reasons I skipped this thread >> >>> > entirely... >> >>> > For what concerns the Commons Jobs API it is only used by >> reasoners. It >> >>> is >> >>> > a bit explained in a README file even if probably a documentation >> >>> targeted >> >>> > to developers would help. I could add it to the web site >> documentation. >> >>> > About the branch commons-ng, if I understood the aim is to clear the >> >>> JAX-RS >> >>> > implementation in order to be jersey independent, right? >> >>> > I downloded the branch to have a look to your examples but had the >> >>> > following: >> >>> > >> >>> > [ERROR] Failed to execute goal >> >>> > org.apache.maven.plugins:maven-compiler-plugin:2.3.1:testCompile >> >>> > (default-testCompile) on project >> org.apache.stanbol.entityhub.jersey: >> >>> > Compilation failure: Compilation failure: >> >>> > [ERROR] >> >>> > >> >>> >> /Users/enricox/Development/Stanbol-commons-ng/entityhub/jersey/src/test/java/org/apache/stanbol/entityhub/jersey/parsers/RepresetnationReaderTest.java:[27,40] >> >>> > package com.sun.jersey.api.representation does not exist >> >>> > >> >>> > My idea was to have a look, learn howto and migrate the reasoners. >> I'll >> >>> add >> >>> > the documentation of Jobs, if you think it is useful (I like that >> small >> >>> > thing btw, I would like to see it reused) >> >>> > >> >>> > Cheers, >> >>> > Enrico >> >>> > >> >>> > >> >>> > >> >>> > On 10 July 2013 15:11, Rupert Westenthaler < >> >>> rupert.westentha...@gmail.com>wrote: >> >>> > >> >>> >> Hi Reto >> >>> >> >> >>> >> Generally I find this API very interesting and I was considering >> this >> >>> >> as useful for the implementation of the Stanbol Enhancer "/task" >> >>> >> endpoint as suggested by David in [1]. For the current services >> >>> >> provided by the Enhancer and Entityhub this is not applicable as >> there >> >>> >> are no async services where users would like to interact with >> running >> >>> >> jobs. >> >>> >> >> >>> >> best >> >>> >> Rupert >> >>> >> >> >>> >> [1] http://stanbol.markmail.org/thread/npwf7olw2jemvu37 >> >>> >> >> >>> >> On Wed, Jul 10, 2013 at 3:56 PM, Reto Bachmann-Gmür < >> r...@apache.org> >> >>> >> wrote: >> >>> >> > After not getting any answer I used grep myself ;) >> >>> >> > >> >>> >> > It seems commons.job is currently only used in the reasoner.web. >> >>> >> > >> >>> >> > Are there plans to use this elsewhere? Or to add some >> documentation >> >>> >> > for it to be more likely to be adopted? >> >>> >> > >> >>> >> > Cheers, >> >>> >> > Reto >> >>> >> > >> >>> >> > On Wed, Jun 26, 2013 at 10:14 PM, Reto Bachmann-Gmür < >> >>> r...@apache.org> >> >>> >> wrote: >> >>> >> >> Did anybody have a chance to try this out? Where is Commons Job >> >>> >> documented? >> >>> >> >> >> >>> >> >> Cheers, >> >>> >> >> Reto >> >>> >> >> >> >>> >> >> >> >>> >> >> On Fri, Jun 7, 2013 at 11:56 PM, Reto Bachmann-Gmür < >> >>> r...@apache.org> >> >>> >> wrote: >> >>> >> >>> >> >>> >> >>> At least I think it runs again.I'm not sure how to test it. >> Would >> >>> be >> >>> >> great >> >>> >> >>> if somebody else could check it out. >> >>> >> >>> >> >>> >> >>> Cheers, >> >>> >> >>> Reto >> >>> >> >> >> >>> >> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> -- >> >>> >> | Rupert Westenthaler rupert.westentha...@gmail.com >> >>> >> | Bodenlehenstraße 11 ++43-699-11108907 >> >>> >> | A-5500 Bischofshofen >> >>> >> >> >>> > >> >>> > >> >>> > >> >>> > -- >> >>> > Enrico Daga >> >>> > >> >>> > -- >> >>> > http://www.enridaga.net >> >>> > skype: enri-pan >> >>> >> >> >> >> >> >> >> >> -- >> >> Enrico Daga >> >> >> >> -- >> >> http://www.enridaga.net >> >> skype: enri-pan >> >> >> >> >> >> >> > >> > >> > -- >> > Enrico Daga >> > >> > -- >> > http://www.enridaga.net >> > skype: enri-pan >> > > > > -- > Enrico Daga > > -- > http://www.enridaga.net > skype: enri-pan > > > -- Enrico Daga -- http://www.enridaga.net skype: enri-pan