[forge-dev] Hello World Template

Antonio Goncalves antonio.mailing at gmail.com
Mon Mar 31 15:06:20 EDT 2014


There is just an empty installed.xml file ?!?!? What is expected in this
folder ?




2014-03-31 19:42 GMT+02:00 George Gastaldi <ggastald at redhat.com>:

> Check if your target/addons folder contains the deployed addons structure.
> It should have been created by the furnace-maven-plugin
>
> Em 31/03/2014, às 14:39, Antonio Goncalves <antonio.mailing at gmail.com>
> escreveu:
>
> Grrr....
>
> ContainerException: No services of type
> [org.jboss.forge.addon.resource.ResourceFactory] could be found in any
> started addons.
>
> Here is the code, I might be doing something wrong.... but I don't know
> what else to do now
>
>
>
> https://github.com/agoncal/agoncal-sample-forge/blob/master/03-template/src/main/java/org/agoncal/sample/forge/template/RestEndpoint.java
>
>
>
> 2014-03-31 19:19 GMT+02:00 George Gastaldi <ggastald at redhat.com>:
>
>> Oh, sorry, my fault. It should be:
>> furnace.getAddonRegistry().getServices(ResourceFactory.class).get();
>>
>>
>> Em 31/03/2014, às 14:11, Antonio Goncalves <antonio.mailing at 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 at 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 at gmail.com>
>>> escreveu:
>>>
>>> Hum.... I just did this (starting Furnace in my main) :
>>>
>>>
>>> https://github.com/agoncal/agoncal-sample-forge/blob/master/03-template/src/main/java/org/agoncal/sample/forge/template/RestEndpoint.java
>>>
>>> But it doesn't work either.
>>>
>>> Any idea ?
>>>
>>>
>>> 2014-03-30 23:58 GMT+02:00 Ivan St. Ivanov <ivan.st.ivanov at 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 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
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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/>
>
> _______________________________________________
> 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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140331/773d1d11/attachment-0001.html 


More information about the forge-dev mailing list