You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Josh Kamau <jo...@gmail.com> on 2010/11/12 09:16:51 UTC
Guice 3 / Guice persist 3 and wicket 1.5 M3 filter issue
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
Re: Guice 3 / Guice persist 3 and wicket 1.5 M3 filter issue
Posted by Josh Kamau <jo...@gmail.com>.
Thanks Martin
Am posting the same to Guice mailing list
On Fri, Nov 12, 2010 at 3:25 AM, Martin Grigorov <mg...@apache.org>wrote:
> 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 <jo...@gmail.com> 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
> >
>
Re: Guice 3 / Guice persist 3 and wicket 1.5 M3 filter issue
Posted by Martin Grigorov <mg...@apache.org>.
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 <jo...@gmail.com> 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
>