Oh, sorry, my fault. It should be:
furnace.getAddonRegistry().getServices(ResourceFactory.class).get();
Em 31/03/2014, às 14:11, Antonio Goncalves
<antonio.mailing(a)gmail.com> escreveu:
If I do the following, it doesn't work :
ResourceFactory resourceFactory =
furnace.getAddonRegistry(ResourceFactory.class).get();
TemplateProcessorFactory factory =
furnace.getAddonRegistry(TemplateProcessorFactory.class).get();
That because the method getAddonRegistry takes a AddonRepository.
Any idea ?
2014-03-31 16:00 GMT+02:00 George Gastaldi <ggastald(a)redhat.com>:
> Antonio,
>
> main() methods are not managed by Furnace, hence why @Inject does not work. You need
to fech these services from the AddonRegistry:
>
> Eg:
> furnace.getAddonRegistry(ResourceFactory.class).get()
>
>> Em 31/03/2014, às 04:26, Antonio Goncalves <antonio.mailing(a)gmail.com>
escreveu:
>>
>
>> Hum.... I just did this (starting Furnace in my main) :
>>
>>
https://github.com/agoncal/agoncal-sample-forge/blob/master/03-template/s...
>>
>> But it doesn't work either.
>>
>> Any idea ?
>>
>>
>> 2014-03-30 23:58 GMT+02:00 Ivan St. Ivanov <ivan.st.ivanov(a)gmail.com>:
>>> Hi Antonio,
>>>
>>> As far as I can see, in your main class you are not inside the Furnace
container, you are rather on you own. That is why nobody has injected you your
dependencies.
>>>
>>> Cheers,
>>> Ivan
>>>
>>>
>>>> On Sun, Mar 30, 2014 at 11:45 PM, Antonio Goncalves
<antonio.mailing(a)gmail.com> wrote:
>>>> Here is my code. I think it's my dependencies that are not right,
because resourceFactory is not injected so I get a NPE
>>>>
>>>>
>>>> public class RestEndpoint {
>>>>
>>>> @Inject
>>>> private TemplateProcessorFactory factory;
>>>>
>>>> @Inject
>>>> ResourceFactory resourceFactory;
>>>>
>>>>
>>>> public static void main(String[] args) throws IOException {
>>>> new RestEndpoint().doIt();
>>>> }
>>>>
>>>> private void doIt() throws IOException {
>>>> Resource<URL> templateResource =
resourceFactory.create(getClass().getResource("EndpointWithDTO.jv"));
>>>> Template template = new FreemarkerTemplate(templateResource); //
Mark this resource as a Freemarker template
>>>> TemplateProcessor processor = factory.fromTemplate(template);
>>>> Map<String,Object> params = new
HashMap<String,Object>(); //Could be a POJO also.
>>>> params.put("name", "JBoss Forge");
>>>> String output = processor.process(params); // should return
"Hello JBoss Forge".
>>>> System.out.println(output);
>>>> }
>>>> }
>>>>
>>>>
>>>> 2014-03-30 22:36 GMT+02:00 Antonio Goncalves
<antonio.mailing(a)gmail.com>:
>>>>
>>>>> So it might be my pom.xml
>>>>>
>>>>> Where do you get @Inject from ? Just from javax.inject:javax.inject ?
Wich Furnace dependencies do you need ?
>>>>>
>>>>>
>>>>> 2014-03-30 22:31 GMT+02:00 George Gastaldi
<ggastald(a)redhat.com>:
>>>>>
>>>>>> Your code should work, you can't use @Inject outside Furnace
environment. Not sure what's going on, need to investigate a little further
>>>>>>
>>>>>>> Em 30/03/2014, às 17:26, Antonio Goncalves
<antonio.mailing(a)gmail.com> escreveu:
>>>>>>>
>>>>>>
>>>>>>> Good old NPE ;o)
>>>>>>>
>>>>>>> I'm not running the code into a container, so @Inject
does not work. In the readme there is the addonRegistry method. In all the samples, the
registery is injected... but how do I use all that with a good old Main ?
>>>>>>>
>>>>>>>
>>>>>>> 2014-03-30 22:17 GMT+02:00 George Gastaldi
<ggastald(a)redhat.com>:
>>>>>>>> Why it doesn't work? Is any exception being thrown?
>>>>>>>>
>>>>>>>>> Em 30/03/2014, às 17:14, Antonio Goncalves
<antonio.mailing(a)gmail.com> escreveu:
>>>>>>>>>
>>>>>>>>
>>>>>>>>> Hum...
>>>>>>>>>
>>>>>>>>> In the README there is :
>>>>>>>>>
>>>>>>>>> @Inject private TemplateProcessorFactory factory
>>>>>>>>>
>>>>>>>>> But is there a way to use the templating from a Main
class ? If I use Forge, I have Furnace as a container, and I was trying something like
this, but it doesn't work :
>>>>>>>>> Furnace furnace = startFurnace();
>>>>>>>>> Imported<TemplateProcessorFactory> imported =
furnace.getAddonRegistry(TemplateProcessorFactory.class);
>>>>>>>>> TemplateProcessorFactory factory = imported.get();
>>>>>>>>>
>>>>>>>>> Any simple Hello World from a Main class and a
pom.xml ?
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Antonio
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2014-03-29 19:03 GMT+01:00 George Gastaldi
<ggastald(a)redhat.com>:
>>>>>>>>>> Hi Antonio,
>>>>>>>>>>
>>>>>>>>>> Roaster currently only maintains a class
structure (add/remove fields, methods, interfaces,etc), not code (method bodies) at the
moment.
>>>>>>>>>>
>>>>>>>>>> There is a JIRA to allow that though.
>>>>>>>>>>
>>>>>>>>>> See the templates addon README to learn how to
generate content from a template.
>>>>>>>>>>
>>>>>>>>>> Best Regards,
>>>>>>>>>>
>>>>>>>>>> George Gastaldi
>>>>>>>>>>
>>>>>>>>>>> Em 29/03/2014, às 14:43, Antonio Goncalves
<antonio.mailing(a)gmail.com> escreveu:
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Hi all,
>>>>>>>>>>>
>>>>>>>>>>> I'm starting to get a bit more confident
with Roaster... and now I would like to add templating. If I'm right, Roaster is nice
to add bits and pieces of Java here and there, but it's better to use Templates when
there is a lot of code, and mix templating and Roaster for better code customization.
>>>>>>>>>>>
>>>>>>>>>>> Is there a sample I could use to write a
Hello Word ? A template with an "engine" that uses Roaster to add Java code to
the template.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Antonio Goncalves
>>>>>>>>>>> Software architect and Java Champion
>>>>>>>>>>>
>>>>>>>>>>> Web site | Twitter | LinkedIn | Paris JUG |
Devoxx France
>>>>>>>>>>>
_______________________________________________
>>>>>>>>>>> forge-dev mailing list
>>>>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> forge-dev mailing list
>>>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Antonio Goncalves
>>>>>>>>> Software architect and Java Champion
>>>>>>>>>
>>>>>>>>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx
France
>>>>>>>>> _______________________________________________
>>>>>>>>> forge-dev mailing list
>>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> forge-dev mailing list
>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Antonio Goncalves
>>>>>>> Software architect and Java Champion
>>>>>>>
>>>>>>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>>>>>>> _______________________________________________
>>>>>>> forge-dev mailing list
>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-dev mailing list
>>>>>> forge-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Antonio Goncalves
>>>>> Software architect and Java Champion
>>>>>
>>>>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Antonio Goncalves
>>>> Software architect and Java Champion
>>>>
>>>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>
>> --
>> Antonio Goncalves
>> Software architect and Java Champion
>>
>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>
> _______________________________________________
> forge-dev mailing list
> forge-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/forge-dev
--
Antonio Goncalves
Software architect and Java Champion
Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
_______________________________________________
forge-dev mailing list
forge-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev