On Thu, Mar 5, 2009 at 3:23 PM, Jordan Zimmerman <jord...@shop.com> wrote: > Adam - you wrote: > > "executeSocialRequest() is in the latest code on trunk: > Recommend overriding that instead of binding a custom pipeline." > > I have not found a way to do this with the current trunk as the > PreloadModule is hard-coded to PipelinedDataPreloader. > You also wrote: > > " (1) bind(PipelinedDataPreloader.class).to(YourSubclass.class) in your > own module. Yes, you can bind concrete classes to subclasses." > > I tried this and it didn't work. The constructor to PreloaderProvider() > still got PipelinedDataPreloader not my version. Are you certain this > works? Have you tried it yourself?
Yes, many many times. This really does work, and has to. Try this: package org.apache.shindig.common; import com.google.inject.AbstractModule; import com.google.inject.Guice; import com.google.inject.Inject; import com.google.inject.Injector; public class QuickGuiceExample { static public void main(String[] args) { Injector injector = Guice.createInjector(new MyModule()); injector.getInstance(Target.class); } static class MyModule extends AbstractModule { protected void configure() { bind(Some.class).to(SomeOther.class); } } static class Target { @Inject Target(Some some) { System.out.println(some.getClass()); } } static class Some {} static class SomeOther extends Some {} } It prints SomeOther.class. > " (2) Take advantage of the factored-apart DefaultGuiceModule, which is > now just:" > > It seems like really bad form to have to alter the Shindig source > directly. Isn't that the point of using DI? My point is that I've already altered the Shindig source. > > > Jordan Zimmerman > Principal Software Architect > 831.647.4712 > 831.214.2990 (cell) > jord...@shop.com > > SHOP*COMTM > Shop Smart, Save Big(tm) > www.shop.com > > This message (including any attachments) is intended only for > the use of the individual or entity to which it is addressed and > may contain information that is non-public, proprietary, > privileged, confidential, and exempt from disclosure under > applicable law or may constitute as attorney work product. > If you are not the intended recipient, you are hereby notified > that any use, dissemination, distribution, or copying of this > communication is strictly prohibited. If you have received this > communication in error, notify us immediately by telephone and > (i) destroy this message if a facsimile or (ii) delete this > message > immediately if this is an electronic communication. > > Thank you. >