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