Paul, I did that, just modifiying the module to implement PersonService by my own, this is the module I used:
package org.self.guice.modules; public class SampleModule extends SocialApiGuiceModule { @Override protected void configure() { super.configure(); bind(String.class).annotatedWith(Names.named(" shindig.canonical.json.db")) .toInstance("sampledata/canonicaldb.json"); bind(ActivityService.class).to(JsonDbOpensocialService.class); bind(AppDataService.class).to(JsonDbOpensocialService.class); bind(PersonService.class).to(PersonServiceImpl.class); bind(OAuthDataStore.class).to(SampleOAuthDataStore.class); // We do this so that jsecurity realms can get access to the jsondbservice singleton requestStaticInjection(SampleRealm.class); } @Override protected Set<Object> getHandlers() { ImmutableSet.Builder<Object> handlers = ImmutableSet.builder(); handlers.addAll(super.getHandlers()); handlers.add(SampleContainerHandler.class); return handlers.build(); } } The error is the same as before. What am I doing wrong? On Mon, Jun 29, 2009 at 2:06 PM, Paul Lindner <lind...@inuus.com> wrote: > I'd make a copy of SampleModule.java and use that instead of the method > outlined below (where you extend SocialApiGuiceModule..) > > On Mon, Jun 29, 2009 at 6:55 AM, pablo fernandez < > fernandezpabl...@gmail.com > > wrote: > > > Hi, > > > > I'm developing a shinding database backed site. I downloaded shindig for > > Java recently, and tried to modify the code in order to make it work with > a > > different data store. > > > > I started small, implementing just PersonService, but I always get this > > exception: > > > > com.google.inject.CreationException: Guice configuration errors: > > > > 1) Error at > > > > > org.apache.shindig.social.core.oauth.OAuthAuthenticationHandler.<init>(OAuthAuthenticationHandler.java:64): > > Error while injecting at > > > > > org.apache.shindig.social.core.oauth.AuthenticationHandlerProvider.<init>(AuthenticationHandlerProvider.java:36): > > Binding to org.apache.shindig.social.opensocial.oauth.OAuthDataStore not > > found. No bindings to that type were found. > > > > 1 error[s] > > at com.google.inject.BinderImpl.createInjector(BinderImpl.java:277) > > at com.google.inject.Guice.createInjector(Guice.java:79) > > at > > > > > org.apache.shindig.common.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:64) > > at > > > > > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) > > at > > org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) > > at > > > > > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) > > at > > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) > > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) > > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850) > > at > > org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724) > > at > > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493) > > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) > > at > > > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314) > > at > > > > > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) > > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) > > at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) > > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) > > at > > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) > > at > > org.apache.catalina.core.StandardService.start(StandardService.java:516) > > at > > org.apache.catalina.core.StandardServer.start(StandardServer.java:710) > > at org.apache.catalina.startup.Catalina.start(Catalina.java:583) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:585) > > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) > > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) > > > > My GuiceModule is this (note that OAuthDataStore is declared): > > > > public class GuiceModule extends SocialApiGuiceModule { > > > > protected void configure(){ > > super.configure(); > > > > > bind(String.class).annotatedWith(Names.named("shindig.canonical.json.db")) > > .toInstance("sampledata/canonicaldb.json"); > > > > bind(PersonService.class).to(org.self.opensocial.PesonServiceImpl.class); > > > > bind(OAuthDataStore.class).to(SampleOAuthDataStore.class); > > } > > > > } > > > > and here's the web.xml that loads all modules: > > > > <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xmlns="http://java.sun.com/xml/ns/javaee" > > xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > > xsi:schemaLocation="http://java.sun.com/xml/ns/javaee > > http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > > id="Shindig" > > version="2.5"> > > <!-- configuration --> > > <!-- If you have your own Guice module(s), put them here as a > > colon-separated list. --> > > <context-param> > > <param-name>guice-modules</param-name> > > <param-value> > > org.apache.shindig.common.PropertiesModule: > > org.apache.shindig.gadgets.oauth.OAuthModule: > > org.self.guice.modules.GuiceModule > > </param-value> > > </context-param> > > > > <filter> > > <filter-name>authFilter</filter-name> > > > > > > > <filter-class>org.apache.shindig.auth.AuthenticationServletFilter</filter-class> > > </filter> > > > > <filter-mapping> > > <filter-name>authFilter</filter-name> > > <url-pattern>/social/*</url-pattern> > > </filter-mapping> > > > > <listener> > > > > > > > <listener-class>org.apache.shindig.common.servlet.GuiceServletContextListener</listener-class> > > </listener> > > > > <!-- Serve social REST api --> > > <servlet> > > <servlet-name>socialRestapiServlet</servlet-name> > > <servlet-class> > > org.apache.shindig.protocol.DataServiceServlet > > </servlet-class> > > <init-param> > > <param-name>handlers</param-name> > > <param-value>org.apache.shindig.social.handlers</param-value> > > </init-param> > > </servlet> > > > > <!-- Serve social RPC api --> > > <servlet> > > <servlet-name>socialJsonRpcServlet</servlet-name> > > <servlet-class> > > org.apache.shindig.protocol.JsonRpcServlet > > </servlet-class> > > <init-param> > > <param-name>handlers</param-name> > > <param-value>org.apache.shindig.social.handlers</param-value> > > </init-param> > > </servlet> > > > > <servlet-mapping> > > <servlet-name>socialRestapiServlet</servlet-name> > > <url-pattern>/social/rest/*</url-pattern> > > </servlet-mapping> > > > > <servlet-mapping> > > <servlet-name>socialJsonRpcServlet</servlet-name> > > <url-pattern>/social/rpc/*</url-pattern> > > </servlet-mapping> > > </web-app> > > > > > > Any ideas why this happens? If you need further info on my > > configuration/code please ask! > > > > Thanks in advance > > -- > > Fernandez, Pablo. > > > -- Fernandez, Pablo.