[forge-dev] Hello World Template

Ivan St. Ivanov ivan.st.ivanov at gmail.com
Sun Mar 30 17:58:01 EDT 2014


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 at 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 at 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 at 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 at 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 at redhat.com>:
>>>
>>>> Why it doesn't work? Is any exception being thrown?
>>>>
>>>> Em 30/03/2014, às 17:14, Antonio Goncalves <antonio.mailing at 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 at 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 at 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 at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev at 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 at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev at 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 at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140331/b3480384/attachment-0001.html 


More information about the forge-dev mailing list