Oh, sorry, my fault. It should be:
furnace.getAddonRegistry().getServices(ResourceFactory.class).get();


Em 31/03/2014, às 14:11, Antonio Goncalves <antonio.mailing@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@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@gmail.com> escreveu:

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 further

Em 30/03/2014, às 17:26, Antonio Goncalves <antonio.mailing@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@redhat.com>:
Why it doesn't work? Is any exception being thrown?

Em 30/03/2014, às 17:14, Antonio Goncalves <antonio.mailing@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@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@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@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