Seems like you'll need access to the Registry, or at least and ObjectLocator to make them play together (allow Guice beans to be injected into Tapestry services/components).
A contribution to MasterObjectProvider could do the job. Haven't looked into it in detail. On 10/29/07, Jan Vissers <[EMAIL PROTECTED]> wrote: > > Partially inspired by a question/some work by Leon Pennings (on this > list), partially because of my interest in Guice - if been trying to > test some stuff on how best to integrate Guice and T5. Before asking > whether my approach is appropriate I would like to ask what your opinion > is on the whole idea of mixing Guice and T5 IoC? > > > > This is what I've done for the NumberGuess tutorial. > > public interface IPlayGenerator { > int generateRandomNumber(); > } > > public class PlayGeneratorImpl implements IPlayGenerator { > public int generateRandomNumber() { > Random random = new Random(); > return random.nextInt(10) + 1; > } > } > > //Guice stuff > public class PlayModule extends AbstractModule { > @Override > protected void configure() { > > bind(IPlayGenerator.class).to(PlayGeneratorImpl.class).in(Scopes.SINGLETON > ); > } > } > > //Actual client service > public class NumberGuessPlayer { > private final IPlayGenerator generator; > > //Guice Inject > @Inject > public NumberGuessPlayer(IPlayGenerator generator) { > this.generator = generator; > } > > public int play() { > return generator.generateRandomNumber(); > } > } > > //T5/Guice bootstrapping > public class AppModule { > // Guice Injector instance > private static final Injector injector; > > static { > injector = Guice.createInjector(new Module[] { new PlayModule() > }); > } > > public static NumberGuessPlayer buildNumberGuessPlayerFinder() { > return injector.getInstance(NumberGuessPlayer.class); > } > ... > ... > } > > //Start page > public class Start { > @InjectPage > private Guess guess; > > /T5 Inject > @Inject > private NumberGuessPlayer player; > > Object onAction() { > int target = player.play(); > > guess.setup(target); > > return guess; > } > } > > > Any comments, tips....? > > -J > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Partner and Senior Architect at Feature50 Creator Apache Tapestry and Apache HiveMind