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 <
http://www.antoniogoncalves.org/> |
Twitter<http://twitter.com/agoncal>
>>>>>> | LinkedIn <
http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org/>
>>>>>> | Devoxx France <
http://www.devoxx.fr/>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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 <
http://www.antoniogoncalves.org/> |
Twitter<http://twitter.com/agoncal>
>>>>> | LinkedIn <
http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org/>
>>>>> | Devoxx France <
http://www.devoxx.fr/>
>>>>>
>>>>> _______________________________________________
>>>>> 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 <
http://www.antoniogoncalves.org/> |
Twitter<http://twitter.com/agoncal>
>>>> | LinkedIn <
http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org/>
>>>> | Devoxx France <
http://www.devoxx.fr/>
>>>>
>>>> _______________________________________________
>>>> 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 <
http://www.antoniogoncalves.org/> |
Twitter<http://twitter.com/agoncal>
>>> | LinkedIn <
http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org/>
>>> | Devoxx France <
http://www.devoxx.fr/>
>>>
>>
>>
>>
>> --
>> Antonio Goncalves
>> Software architect and Java Champion
>>
>> Web site <
http://www.antoniogoncalves.org/> |
Twitter<http://twitter.com/agoncal>
>> | LinkedIn <
http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org/>
>> | Devoxx France <
http://www.devoxx.fr/>
>>
>> _______________________________________________
>> 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 <
http://www.antoniogoncalves.org/> |
Twitter<http://twitter.com/agoncal>
| LinkedIn <
http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org/>
| Devoxx France <
http://www.devoxx.fr/>
_______________________________________________
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