Looks like a question for Guice Persist folks.

The error message doesn't say what exactly is the problem but for some
reason PersistFilter cannot be instantiated.

On Fri, Nov 12, 2010 at 9:16 AM, Josh Kamau <[email protected]> wrote:

> Hi there;
>
> Has anyone tried working with the wicket 1.5-m3 and the new guice/guice
> persist 3 snapshots?
>
> am getting the below error:
>
> java.lang.InstantiationException: com.google.inject.persist.PersistFilter
>    at java.lang.Class.newInstance0(Class.java:340)
>    at java.lang.Class.newInstance(Class.java:308)
>    at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153)
>    at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:92)
>    at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>    at
>
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662)
>    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>    at
>
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272)
>    at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
>    at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489)
>    at
>
> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
>    at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>    at
>
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>    at
>
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>    at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>    at
>
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>    at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>    at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>    at org.mortbay.jetty.Server.doStart(Server.java:224)
>    at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>    at
>
> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
>    at
>
> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441)
>    at
>
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383)
>    at
>
> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
>    at
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
>    at
>
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
>    at
>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
>    at
>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
>    at
>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
>    at
>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
>    at
>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
>    at
>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
>    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
>    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
>    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
>    at
> org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
>    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:597)
>    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>
> Web.xml
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee";
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
>     version="2.4">
>
>    <display-name>issuetracker</display-name>
>
>    <filter>
>        <filter-name>wicket.issuetracker</filter-name>
>
> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
>        <init-param>
>            <param-name>applicationClassName</param-name>
>
> <param-value>ke.co.at.issuetracker.WicketApplication</param-value>
>         </init-param>
>     </filter>
>
>     <filter>
>        <filter-name>persistFilter</filter-name>
>        <filter-class>com.google.inject.persist.PersistFilter</filter-class>
>    </filter>
>
>  <filter-mapping>
>  <filter-name>wicket.issuetracker</filter-name>
>    <url-pattern>/*</url-pattern>
>  </filter-mapping>
>
>      <filter-mapping>
>        <filter-name>persistFilter</filter-name>
>        <url-pattern>/*</url-pattern>
>    </filter-mapping>
>
>
> </web-app>
>
> peristence.xml
>
> <persistence xmlns="http://java.sun.com/xml/ns/persistence";
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd";
>    version="1.0">
>    <persistence-unit name="issuetrackerPU"
>        transaction-type="RESOURCE_LOCAL">
>        <properties>
>            <property name="hibernate.dialect"
>                value="org.hibernate.dialect.PostgreSQLDialect" />
>            <property name="hibernate.connection.driver_class"
>                value="org.postgresql.Driver" />
>            <property name="hibernate.connection.username" value="postgres"
> />
>            <property name="hibernate.connection.password" value="postgres"
> />
>            <property name="hibernate.connection.url"
>                value="jdbc:postgresql://localhost:5432/issuetracker" />
>            <property name="hibernate.hbm2ddl.auto" value="update" />
>        </properties>
>    </persistence-unit>
>
>    <persistence-unit name="issuetrackerPUtest"
>        transaction-type="RESOURCE_LOCAL">
>        <properties>
>            <property name="hibernate.dialect"
>                value="org.hibernate.dialect.HSQLDialect" />
>            <property name="hibernate.connection.driver_class"
>                value="org.hsqldb.jdbcDriver" />
>            <property name="hibernate.connection.username" value="sa" />
>            <property name="hibernate.connection.password" value="" />
>            <property name="hibernate.connection.url"
>                value="jdbc:hsqldb:mem:issuetracker" />
>            <property name="hibernate.hbm2ddl.auto" value="update" />
>        </properties>
>    </persistence-unit>
>
> </persistence>
>
>
> Guice Module
>
> package ke.co.at.issuetracker;
>
> import ke.co.at.issuetracker.services.LoginService;
> import ke.co.at.issuetracker.services.impl.LoginServiceImpl;
>
> import com.google.inject.AbstractModule;
>
> public class GuiceModule extends AbstractModule {
>
>    @Override
>    protected void configure() {
>        bind(LoginService.class).to(LoginServiceImpl.class);
>    }
>
> }
>
> Wicket application
>
> package ke.co.at.issuetracker;
>
> import ke.co.at.issuetracker.pages.AdminUserPage;
> import ke.co.at.issuetracker.pages.LoginPage;
>
> import org.apache.wicket.guice.GuiceComponentInjector;
> import org.apache.wicket.protocol.http.WebApplication;
>
> import com.google.inject.Guice;
> import com.google.inject.Injector;
> import com.google.inject.persist.jpa.JpaPersistModule;
>
> /**
>  * Application object for your web application. If you want to run this
>  * application without deploying, run the Start class.
>  *
>  * @see ke.co.at.issuetracker.Start#main(String[])
>  */
> public class WicketApplication extends WebApplication {
>    /**
>     * Constructor
>     */
>    public WicketApplication() {
>    }
>
>    /**
>     * @see org.apache.wicket.Application#getHomePage()
>     */
>    public Class<LoginPage> getHomePage() {
>        return LoginPage.class;
>    }
>
>    @Override
>    protected void init() {
>        super.init();
>        Injector injector = Guice.createInjector(new GuiceModule(), new
> JpaPersistModule("issuetrackerPU"));
>        getComponentInstantiationListeners().add(new
> GuiceComponentInjector(this, injector));
>
>        getMarkupSettings().setStripWicketTags(true);
>
>        mountPage("/login", LoginPage.class);
>        mountPage("/registeradmin", AdminUserPage.class);
>    }
>
> }
>
> kind regards.
> Josh
>

Reply via email to