Hum....
Yes, I ran the Furnace Maven plugin, endup with several folders, run my Main class... and same old :
ContainerException: No services of type [org.jboss.forge.addon.resource.ResourceFactory] could be found in any started addons
I just want to use templating out of the box on a Main class (for my Tools in Action at Devoxx)... Any easy "Hello World" with the right pom.xml and steps ? Looks like I'm not far... but...
2014-03-31 21:10 GMT+02:00 George Gastaldi <ggastald@redhat.com>:
It should contain several folders, one for each available addon. Run the furnace-maven-plugin againThere is just an empty installed.xml file ?!?!? What is expected in this folder ?
2014-03-31 19:42 GMT+02:00 George Gastaldi <ggastald@redhat.com>:
Check if your target/addons folder contains the deployed addons structure. It should have been created by the furnace-maven-pluginGrrr....
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
2014-03-31 19:19 GMT+02:00 George Gastaldi <ggastald@redhat.com>:
Oh, sorry, my fault. It should be:furnace.getAddonRegistry().getServices(ResourceFactory.class).get();
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@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()Hum.... I just did this (starting Furnace in my main) :
But it doesn't work either.
Any idea ?
2014-03-30 23:58 GMT+02:00 Ivan St. Ivanov <ivan.st.ivanov@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@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@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@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 furtherGood 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@redhat.com>:
Why it doesn't work? Is any exception being thrown?
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 ?
ThanksAntonio
2014-03-29 19:03 GMT+01:00 George Gastaldi <ggastald@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 GastaldiHi 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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev@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@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