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
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Implementing OpenSocial Containers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/opensocial-container?hl=en
-~----------~----~----~----~------~----~------~--~---