-
1. Re: running Eclipse TestNG plugin on a Seam project
gavin.king Jun 22, 2006 10:23 PM (in response to dbatcn)Did you follow regstration/readme.txt?
Running the TestNG Tests in Eclipse
-----------------------------------
1. Install the TestNG Eclipse plugin from http://beust.com/eclipse
2. Create the jboss-seam Eclipse project with the following directories
in your source path:
src/main/
examples/registration/src/
examples/registration/resources/
embedded-ejb/conf/
And all jar files from the following directories in your classpath:
lib/
embedded-ejb/lib
3. Run examples/registration/src/org/jboss/seam/example/registration/test/testng.xml
using the TestNG plugin. -
2. Re: running Eclipse TestNG plugin on a Seam project
jtucker Jun 23, 2006 9:13 AM (in response to dbatcn)Could be related to the reason I'm proposing a move of components.xml (see the other thread underway at the moment).
TestNG as an eclipse plugin runs with a different classpath to running with ant so check in the TestNG output that components.xml is being read correctly. I had to create a WEB-INF directory under one of my source folders and include components.xml in that. -
3. Re: running Eclipse TestNG plugin on a Seam project
dbatcn Jun 23, 2006 4:22 PM (in response to dbatcn)Gavin and Jye,
I think I'm really close. Those were good hints, thank you. One thing though is that I'm not really trying to run the registration example, I'm just cloning it and trying to make a minimal Seam project in Eclipse as a starting point, without references to Seam source. I've made a bunch of changes and am now much farther but stuck. I have:
* put seam.properties in my "src" folder so that the corresponding "bin" folder will get scanned by Seam
* made sure all configuration files (that I'm aware of) are now in a folder called "resources" that is on the classpath
* put components.xml, faces-config.xml, and web.xml in WEB-INF under my resource folder
* added 'unitName="userDatabase"' to the @PersistenceContext annotation in RegisterAction because I was getting an error like:
@PersistenceUnit in error: EMPTY STRING unitName but there is no deployments in scope. After reading http://trailblazer.demo.jboss.com/EJB3Trail/persistence/config/ is this use case perhaps not using a scoped classloader?
* moved the test to a separate source folder named test and into the same package as the registration source (my own preference for Java unit testing, doesn't seem significant to me)
So far as I can tell, the first significant differences in running the test under ant or Eclipse (Seam reverses its log messages about the user and register components) that I can notice are that under Eclipse:
* there's no message like:
INFO (Ejb3DescriptorHandler.java:addClassAnnotation:1699) -adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to org.jboss.seam.example.registration.RegisterAction org.jboss.annotation.internal.DefaultInterceptorMarkerImpl@ae4646
* there's no message like:
INFO (MCKernelAbstraction.java:install:84) -installing bean: persistence.units:jar=test.jar,unitName=userDatabase with dependencies:
* it appears that RegisterAction doesn't have a JNDI binding (it gets a NamingException) even though there's a Seam log message that says "JNDI: RegisterAction/local"
Pointers in getting this right will be gratefully appreciated -- it seems pretty darn close now!
Thanks,
Dave
P.S. I think that having something like this to start from would really help people who are considering trying out Seam to get over the hurdle of creating a small freestanding project to start playing with which they could then morph into their own app. Maybe I could create a Wiki entry once this works right or there could be a little section on this in the reference guide?
eclipse console output:INFO 23-06 12:47:41,519 (Log4JLogger.java:info:94) -reading components.xml
INFO 23-06 12:47:41,613 (Log4JLogger.java:info:94) -reading properties from: /seam.properties
INFO 23-06 12:47:41,613 (Log4JLogger.java:info:94) -reading properties from: /jndi.properties
INFO 23-06 12:47:41,629 (Log4JLogger.java:info:94) -initializing Seam
INFO 23-06 12:47:41,660 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.init, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Init
INFO 23-06 12:47:41,832 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.pages, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Pages
INFO 23-06 12:47:41,847 (Log4JLogger.java:info:94) -Component: events, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Events
INFO 23-06 12:47:41,863 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.manager, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.core.Manager
INFO 23-06 12:47:41,910 (Log4JLogger.java:info:94) -Component: switcher, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.core.Switcher
INFO 23-06 12:47:41,910 (Log4JLogger.java:info:94) -Component: redirect, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.Redirect
INFO 23-06 12:47:41,925 (Log4JLogger.java:info:94) -Component: httpError, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.HttpError
INFO 23-06 12:47:41,925 (Log4JLogger.java:info:94) -Component: userPrincipal, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.UserPrincipal
INFO 23-06 12:47:41,941 (Log4JLogger.java:info:94) -Component: isUserInRole, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.IsUserInRole
INFO 23-06 12:47:41,972 (Log4JLogger.java:info:94) -Component: conversation, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.Conversation
INFO 23-06 12:47:41,988 (Log4JLogger.java:info:94) -Component: conversationList, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationList
INFO 23-06 12:47:41,988 (Log4JLogger.java:info:94) -Component: conversationStack, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationStack
INFO 23-06 12:47:42,004 (Log4JLogger.java:info:94) -Component: facesContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.FacesContext
INFO 23-06 12:47:42,019 (Log4JLogger.java:info:94) -Component: pageContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.PageContext
INFO 23-06 12:47:42,035 (Log4JLogger.java:info:94) -Component: eventContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.EventContext
INFO 23-06 12:47:42,050 (Log4JLogger.java:info:94) -Component: sessionContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.SessionContext
INFO 23-06 12:47:42,050 (Log4JLogger.java:info:94) -Component: statelessContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.StatelessContext
INFO 23-06 12:47:42,066 (Log4JLogger.java:info:94) -Component: applicationContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.ApplicationContext
INFO 23-06 12:47:42,066 (Log4JLogger.java:info:94) -Component: conversationContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationContext
INFO 23-06 12:47:42,129 (Log4JLogger.java:info:94) -Component: businessProcessContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.BusinessProcessContext
INFO 23-06 12:47:42,144 (Log4JLogger.java:info:94) -Component: locale, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Locale
INFO 23-06 12:47:42,160 (Log4JLogger.java:info:94) -Component: messages, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.Messages
INFO 23-06 12:47:42,160 (Log4JLogger.java:info:94) -Component: interpolator, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Interpolator
INFO 23-06 12:47:42,175 (Log4JLogger.java:info:94) -Component: facesMessages, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.FacesMessages
INFO 23-06 12:47:42,191 (Log4JLogger.java:info:94) -Component: resourceBundle, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.ResourceBundle
INFO 23-06 12:47:42,207 (Log4JLogger.java:info:94) -Component: localeSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.LocaleSelector
INFO 23-06 12:47:42,222 (Log4JLogger.java:info:94) -Component: uiComponent, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.UiComponent
INFO 23-06 12:47:42,222 (Log4JLogger.java:info:94) -Component: org.jboss.seam.remoting.messaging.subscriptionRegistry, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.remoting.messaging.SubscriptionRegistry
INFO 23-06 12:47:42,238 (Log4JLogger.java:info:94) -Component: pojoCache, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.PojoCache
INFO 23-06 12:47:42,285 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.ejb, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Ejb
INFO 23-06 12:47:42,300 (Log4JLogger.java:info:94) -scanning: C:\eclipse\workspace\seam-play\bin
INFO 23-06 12:47:42,316 (Log4JLogger.java:info:94) -scanning: C:\eclipse\workspace\seam-play\resource
INFO 23-06 12:47:42,332 (Log4JLogger.java:info:94) -Component: register, scope: STATELESS, type: STATELESS_SESSION_BEAN, class: org.jboss.seam.example.registration.RegisterAction, JNDI: RegisterAction/local
INFO 23-06 12:47:42,379 (Log4JLogger.java:info:94) -Component: user, scope: SESSION, type: ENTITY_BEAN, class: org.jboss.seam.example.registration.User
INFO 23-06 12:47:42,410 (Log4JLogger.java:info:94) -starting the embedded EJB container
WARN 23-06 12:47:43,097 (BeanSchemaBinding.java:init:227) -You should use the 2.0 version of the Microcontainer xml. xmlns='urn:jboss:bean-deployer:2.0'
INFO 23-06 12:47:43,629 (LocalTxDataSource.java:bindConnectionFactory:117) -Bound datasource to JNDI name 'java:/DefaultDS'
INFO 23-06 12:47:44,082 (Ejb3Deployment.java:create:467) -EJB3 deployment time took: 94
INFO 23-06 12:47:44,207 (Ejb3Deployment.java:create:467) -EJB3 deployment time took: 125
INFO 23-06 12:47:44,254 (MCKernelAbstraction.java:install:84) -installing bean: jboss.j2ee:jar=bin,name=RegisterAction,service=EJB3 with dependencies:
INFO 23-06 12:47:44,254 (MCKernelAbstraction.java:install:87) - AbstractDependencyMetaData@c063ad{dependency=persistence.units:unitName=userDatabase}
INFO 23-06 12:47:44,300 (Log4JLogger.java:info:94) -done initializing Seam
INFO 23-06 12:47:44,410 (Log4JLogger.java:info:94) -stopping the embedded EJB container
FAILED: testLogin
org.jboss.seam.InstantiationException: Could not instantiate Seam component: register
at org.jboss.seam.Component.newInstance(Component.java:735)
at org.jboss.seam.Component.newInstance(Component.java:1308)
at org.jboss.seam.Component.getInstance(Component.java:1263)
at org.jboss.seam.Component.getInstance(Component.java:1246)
at org.jboss.seam.example.registration.RegisterTest$1.invokeApplication(RegisterTest.java:32)
at org.jboss.seam.mock.SeamTest$Script.run(SeamTest.java:242)
at org.jboss.seam.example.registration.RegisterTest.testLogin(RegisterTest.java:47)
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.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:552)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:407)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:778)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105)
at org.testng.TestRunner.privateRun(TestRunner.java:682)
at org.testng.TestRunner.run(TestRunner.java:566)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:220)
at org.testng.SuiteRunner.run(SuiteRunner.java:146)
at org.testng.eclipse.runner.RemoteTestNG.run(RemoteTestNG.java:98)
at org.testng.eclipse.runner.RemoteTestNG.main(RemoteTestNG.java:138)
Caused by: javax.naming.NameNotFoundException: RegisterAction not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:626)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:588)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.jboss.seam.Component.instantiate(Component.java:774)
at org.jboss.seam.Component.newInstance(Component.java:731)
... 20 more
===============================================
Register
Tests run: 1, Failures: 1, Skips: 0
===============================================
===============================================
Registration
Total tests run: 1, Failures: 1, Skips: 0
===============================================
my project now looks like:seam-play bin org jboss seam example registration Register.class RegisterAction.class RegisterTest.class RegisterTest$1.class testng.xml User.class seam.properties lib (in classpath) jboss-seam.jar ... resource WEB-INF component.xml faces-config.xml web.xml application.xml components.properties default.persistence.properties ejb3-interceptors-aop.xml ejb-jar.xml embedded-jboss-beans.xml jboss-app.xml jboss-jms-beans.xml jndi.properties log4j.xml login-config.xml persistence.xml seam.properties security-beans.xml src org jboss seam example registration Register.java RegisterAction.java User.properties seam.properties test org jboss seam example registration RegisterTest.java testng.xml view index.html register.jsp registered.jsp
apparently correctly working ant output:[testng] INFO 22-06 17:24:27,082 (Log4JLogger.java:info:94) -reading components.xml
[testng] INFO 22-06 17:24:27,207 (Log4JLogger.java:info:94) -reading properties from: /seam.properties
[testng] INFO 22-06 17:24:27,207 (Log4JLogger.java:info:94) -reading properties from: /jndi.properties
[testng] INFO 22-06 17:24:27,207 (Log4JLogger.java:info:94) -initializing Seam
[testng] INFO 22-06 17:24:27,254 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.init, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Init
[testng] INFO 22-06 17:24:27,457 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.pages, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Pages
[testng] INFO 22-06 17:24:27,473 (Log4JLogger.java:info:94) -Component: events, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Events
[testng] INFO 22-06 17:24:27,489 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.manager, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.core.Manager
[testng] INFO 22-06 17:24:27,536 (Log4JLogger.java:info:94) -Component: switcher, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.core.Switcher
[testng] INFO 22-06 17:24:27,536 (Log4JLogger.java:info:94) -Component: redirect, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.Redirect
[testng] INFO 22-06 17:24:27,551 (Log4JLogger.java:info:94) -Component: httpError, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.HttpError
[testng] INFO 22-06 17:24:27,567 (Log4JLogger.java:info:94) -Component: userPrincipal, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.UserPrincipal
[testng] INFO 22-06 17:24:27,582 (Log4JLogger.java:info:94) -Component: isUserInRole, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.IsUserInRole
[testng] INFO 22-06 17:24:27,598 (Log4JLogger.java:info:94) -Component: conversation, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.Conversation
[testng] INFO 22-06 17:24:27,614 (Log4JLogger.java:info:94) -Component: conversationList, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationList
[testng] INFO 22-06 17:24:27,629 (Log4JLogger.java:info:94) -Component: conversationStack, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationStack
[testng] INFO 22-06 17:24:27,676 (Log4JLogger.java:info:94) -Component: facesContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.FacesContext
[testng] INFO 22-06 17:24:27,692 (Log4JLogger.java:info:94) -Component: pageContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.PageContext
[testng] INFO 22-06 17:24:27,723 (Log4JLogger.java:info:94) -Component: eventContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.EventContext
[testng] INFO 22-06 17:24:27,723 (Log4JLogger.java:info:94) -Component: sessionContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.SessionContext
[testng] INFO 22-06 17:24:27,754 (Log4JLogger.java:info:94) -Component: statelessContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.StatelessContext
[testng] INFO 22-06 17:24:27,754 (Log4JLogger.java:info:94) -Component: applicationContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.ApplicationContext
[testng] INFO 22-06 17:24:27,754 (Log4JLogger.java:info:94) -Component: conversationContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationContext
[testng] INFO 22-06 17:24:27,770 (Log4JLogger.java:info:94) -Component: businessProcessContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.BusinessProcessContext
[testng] INFO 22-06 17:24:27,770 (Log4JLogger.java:info:94) -Component: locale, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Locale
[testng] INFO 22-06 17:24:27,786 (Log4JLogger.java:info:94) -Component: messages, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.Messages
[testng] INFO 22-06 17:24:27,786 (Log4JLogger.java:info:94) -Component: interpolator, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Interpolator
[testng] INFO 22-06 17:24:27,801 (Log4JLogger.java:info:94) -Component: facesMessages, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.FacesMessages
[testng] INFO 22-06 17:24:27,817 (Log4JLogger.java:info:94) -Component: resourceBundle, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.ResourceBundle
[testng] INFO 22-06 17:24:27,832 (Log4JLogger.java:info:94) -Component: localeSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.LocaleSelector
[testng] INFO 22-06 17:24:27,848 (Log4JLogger.java:info:94) -Component: uiComponent, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.UiComponent
[testng] INFO 22-06 17:24:27,848 (Log4JLogger.java:info:94) -Component: org.jboss.seam.remoting.messaging.subscriptionRegistry, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.remoting.messaging.SubscriptionRegistry
[testng] INFO 22-06 17:24:27,864 (Log4JLogger.java:info:94) -Component: pojoCache, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.PojoCache
[testng] INFO 22-06 17:24:27,911 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.ejb, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Ejb
[testng] INFO 22-06 17:24:27,911 (Log4JLogger.java:info:94) -scanning: C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\build\test
[testng] INFO 22-06 17:24:27,942 (Log4JLogger.java:info:94) -Component: user, scope: SESSION, type: ENTITY_BEAN, class: org.jboss.seam.example.registration.User
[testng] INFO 22-06 17:24:27,973 (Log4JLogger.java:info:94) -Component: register, scope: STATELESS, type: STATELESS_SESSION_BEAN, class: org.jboss.seam.example.registration.RegisterAction, JNDI: RegisterAction/local
[testng] INFO 22-06 17:24:28,036 (Log4JLogger.java:info:94) -starting the embedded EJB container
[testng] WARN 22-06 17:24:28,911 (BeanSchemaBinding.java:init:227) -You should use the 2.0 version of the Microcontainer xml. xmlns='urn:jboss:bean-deployer:2.0'
[testng] INFO 22-06 17:24:29,504 (LocalTxDataSource.java:bindConnectionFactory:117) -Bound datasource to JNDI name 'java:/DefaultDS'
[testng] INFO 22-06 17:24:30,536 (Ejb3DescriptorHandler.java:addClassAnnotation:1699) -adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to org.jboss.seam.example.registration.RegisterAction org.jboss.annotation.internal.DefaultInterceptorMarkerImpl@ae4646
[testng] INFO 22-06 17:24:30,598 (Ejb3Deployment.java:create:467) -EJB3 deployment time took: 469
[testng] INFO 22-06 17:24:30,614 (MCKernelAbstraction.java:install:84) -installing bean: persistence.units:jar=test.jar,unitName=userDatabase with dependencies:
[testng] INFO 22-06 17:24:30,614 (MCKernelAbstraction.java:install:87) - AbstractDependencyMetaData@61f533{dependency=DefaultDS}
[testng] INFO 22-06 17:24:30,676 (Log4JLogger.java:info:94) -Hibernate EntityManager 3.2.0.CR1
[testng] INFO 22-06 17:24:30,707 (Log4JLogger.java:info:94) -Hibernate Annotations 3.2.0.CR1
[testng] INFO 22-06 17:24:30,707 (Log4JLogger.java:info:94) -Hibernate 3.2 cr2
[testng] INFO 22-06 17:24:30,723 (Log4JLogger.java:info:94) -hibernate.properties not found
[testng] INFO 22-06 17:24:30,723 (Log4JLogger.java:info:94) -Bytecode provider name : cglib
[testng] INFO 22-06 17:24:30,754 (Log4JLogger.java:info:94) -using JDK 1.4 java.sql.Timestamp handling
[testng] INFO 22-06 17:24:30,864 (Log4JLogger.java:info:94) -Processing PersistenceUnitInfo [
[testng] name: userDatabase
[testng] ...]
[testng] INFO 22-06 17:24:30,879 (Log4JLogger.java:info:94) -found EJB3 Entity bean: org.jboss.seam.example.registration.User
[testng] WARN 22-06 17:24:30,895 (Log4JLogger.java:warn:104) -Persistence provider caller does not implements the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.
[testng] INFO 22-06 17:24:30,973 (Log4JLogger.java:info:94) -Reading mappings from resource: META-INF/orm.xml
[testng] INFO 22-06 17:24:30,973 (Log4JLogger.java:info:94) -[PersistenceUnit: userDatabase] no META-INF/orm.xml found
[testng] INFO 22-06 17:24:31,082 (Log4JLogger.java:info:94) -Binding entity from annotated class: org.jboss.seam.example.registration.User
[testng] INFO 22-06 17:24:31,145 (Log4JLogger.java:info:94) -Bind entity org.jboss.seam.example.registration.User on table users
[testng] INFO 22-06 17:24:31,317 (Log4JLogger.java:info:94) -Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
[testng] INFO 22-06 17:24:31,317 (Log4JLogger.java:info:94) -Using provided datasource
[testng] INFO 22-06 17:24:31,786 (Log4JLogger.java:info:94) -RDBMS: HSQL Database Engine, version: 1.8.0
[testng] INFO 22-06 17:24:31,786 (Log4JLogger.java:info:94) -JDBC driver: HSQL Database Engine Driver, version: 1.8.0
[testng] INFO 22-06 17:24:31,911 (Log4JLogger.java:info:94) -Using dialect: org.hibernate.dialect.HSQLDialect
[testng] INFO 22-06 17:24:31,926 (Log4JLogger.java:info:94) -Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
[testng] INFO 22-06 17:24:31,926 (Log4JLogger.java:info:94) -instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup
[testng] INFO 22-06 17:24:31,926 (Log4JLogger.java:info:94) -instantiated TransactionManagerLookup
[testng] INFO 22-06 17:24:31,926 (Log4JLogger.java:info:94) -Automatic flush during beforeCompletion(): disabled
[testng] INFO 22-06 17:24:31,926 (Log4JLogger.java:info:94) -Automatic session close at end of transaction: disabled
[testng] INFO 22-06 17:24:31,926 (Log4JLogger.java:info:94) -JDBC batch size: 15
[testng] INFO 22-06 17:24:31,942 (Log4JLogger.java:info:94) -JDBC batch updates for versioned data: disabled
[testng] INFO 22-06 17:24:31,942 (Log4JLogger.java:info:94) -Scrollable result sets: enabled
[testng] INFO 22-06 17:24:31,942 (Log4JLogger.java:info:94) -JDBC3 getGeneratedKeys(): disabled
[testng] INFO 22-06 17:24:31,942 (Log4JLogger.java:info:94) -Connection release mode: auto
[testng] INFO 22-06 17:24:31,942 (Log4JLogger.java:info:94) -Default batch fetch size: 1
[testng] INFO 22-06 17:24:31,942 (Log4JLogger.java:info:94) -Generate SQL with comments: disabled
[testng] INFO 22-06 17:24:31,942 (Log4JLogger.java:info:94) -Order SQL updates by primary key: disabled
[testng] INFO 22-06 17:24:31,942 (Log4JLogger.java:info:94) -Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
[testng] INFO 22-06 17:24:31,957 (Log4JLogger.java:info:94) -Using ASTQueryTranslatorFactory
[testng] INFO 22-06 17:24:31,957 (Log4JLogger.java:info:94) -Query language substitutions: {}
[testng] INFO 22-06 17:24:31,957 (Log4JLogger.java:info:94) -Second-level cache: enabled
[testng] INFO 22-06 17:24:31,957 (Log4JLogger.java:info:94) -Query cache: disabled
[testng] INFO 22-06 17:24:31,957 (Log4JLogger.java:info:94) -Cache provider: org.hibernate.cache.HashtableCacheProvider
[testng] INFO 22-06 17:24:31,957 (Log4JLogger.java:info:94) -Optimize cache for minimal puts: disabled
[testng] INFO 22-06 17:24:31,957 (Log4JLogger.java:info:94) -Structured second-level cache entries: disabled
[testng] INFO 22-06 17:24:31,973 (Log4JLogger.java:info:94) -Statistics: disabled
[testng] INFO 22-06 17:24:31,973 (Log4JLogger.java:info:94) -Deleted entity synthetic identifier rollback: disabled
[testng] INFO 22-06 17:24:31,973 (Log4JLogger.java:info:94) -Default entity-mode: pojo
[testng] INFO 22-06 17:24:32,082 (Log4JLogger.java:info:94) -building session factory
[testng] INFO 22-06 17:24:32,332 (Log4JLogger.java:info:94) -Not binding factory to JNDI, no JNDI name configured
[testng] INFO 22-06 17:24:32,332 (Log4JLogger.java:info:94) -Running hbm2ddl schema export
[testng] INFO 22-06 17:24:32,348 (Log4JLogger.java:info:94) -exporting generated schema to database
[testng] INFO 22-06 17:24:32,348 (Log4JLogger.java:info:94) -schema export complete
[testng] INFO 22-06 17:24:32,364 (Log4JLogger.java:info:94) -JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
[testng] INFO 22-06 17:24:32,395 (MCKernelAbstraction.java:install:84) -installing bean: jboss.j2ee:jar=test,name=RegisterAction,service=EJB3 with dependencies:
[testng] INFO 22-06 17:24:32,395 (MCKernelAbstraction.java:install:87) - AbstractDependencyMetaData@1ef3d1b{dependency=persistence.units:jar=test.jar,unitName=userDatabase}
[testng] INFO 22-06 17:24:32,692 (EJBContainer.java:start:553) -STARTED EJB: org.jboss.seam.example.registration.RegisterAction ejbName: RegisterAction
[testng] INFO 22-06 17:24:32,723 (Log4JLogger.java:info:94) -done initializing Seam
[testng] INFO 22-06 17:24:33,254 (Log4JLogger.java:info:94) -Registered new user #{user.username}
[testng] INFO 22-06 17:24:33,270 (Log4JLogger.java:info:94) -no pages.xml file found
[testng] INFO 22-06 17:24:33,286 (Log4JLogger.java:info:94) -stopping the embedded EJB container
[testng] INFO 22-06 17:24:33,286 (Log4JLogger.java:info:94) -closing
[testng] INFO 22-06 17:24:33,286 (Log4JLogger.java:info:94) -Running hbm2ddl schema export
[testng] INFO 22-06 17:24:33,286 (Log4JLogger.java:info:94) -exporting generated schema to database
[testng] INFO 22-06 17:24:33,301 (Log4JLogger.java:info:94) -schema export complete
[testng] Creating C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\test-output\Register.html
[testng] PASSED: testLogin
[testng] ===============================================
[testng] Register
[testng] Tests run: 1, Failures: 0, Skips: 0
[testng] ===============================================
[testng] ===============================================
[testng] Registration
[testng] Total tests run: 1, Failures: 0, Skips: 0
[testng] ===============================================
[testng] Creating C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\test-output\toc.html
[testng] Creating C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\test-output\Register.properties
[testng] Creating C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\test-output\index.html
[testng] Creating C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\test-output\main.html
[testng] Creating C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\test-output\groups.html
[testng] Creating C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\test-output\methods.html
[testng] Creating C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\test-output\classes.html -
4. Re: running Eclipse TestNG plugin on a Seam project
jtucker Jun 24, 2006 4:01 AM (in response to dbatcn)Sounds like you are close!
Hopefully the only thing you are missing now is a META-INF dir in your resources source folder.
It should contain ejb-jar.xml and persistence.xml. -
5. Re: running Eclipse TestNG plugin on a Seam project
dbatcn Jun 26, 2006 12:55 PM (in response to dbatcn)Jye,
That was a very helpful hint and it's much further along, thanks. I plan to make a Wiki entry to help others get going more quickly once I've gotten it going. I think I'm asymptotically close now. I created a META-INF directory under my resource directory and placed ejb-jar.xml and persistence.xml in it. I'm reading up on EJB3 as fast as I can, but don't yet know how to fix what is going wrong. Compared to the ant session that is linked in will all the Seam source, my Eclipse project is missing the following messages (timestamps removed so I could diff):
...
INFO (Ejb3DescriptorHandler.java:addClassAnnotation:1699) -adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to org.jboss.seam.example.registration.RegisterAction org.jboss.annotation.internal.DefaultInterceptorMarkerImpl@ae4646
...
INFO (Log4JLogger.java:info:94) -found EJB3 Entity bean: org.jboss.seam.example.registration.User
...
INFO (Log4JLogger.java:info:94) -Binding entity from annotated class: org.jboss.seam.example.registration.User
INFO (Log4JLogger.java:info:94) -Bind entity org.jboss.seam.example.registration.User on table users
..
INFO (Log4JLogger.java:info:94) -Registered new user #{user.username}
INFO (Log4JLogger.java:info:94) -no pages.xml file found
...
and then instead ofCreating C:\java\jboss\jboss-seam-1.0.1.GA\examples\registration\test-output\Register.html
I getjavax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select username from User where username=:username]
at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
...
Caused by: javax.persistence.PersistenceException: org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select username from User where username=:username]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:567)
...
Caused by: org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select username from User where username=:username]
at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
Thanks,
Dave
The full unedited console output is:INFO 26-06 09:19:00,800 (Log4JLogger.java:info:94) -reading components.xml
INFO 26-06 09:19:01,019 (Log4JLogger.java:info:94) -reading properties from: /seam.properties
INFO 26-06 09:19:01,050 (Log4JLogger.java:info:94) -reading properties from: /jndi.properties
INFO 26-06 09:19:01,050 (Log4JLogger.java:info:94) -initializing Seam
INFO 26-06 09:19:01,144 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.init, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Init
INFO 26-06 09:19:01,316 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.pages, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Pages
INFO 26-06 09:19:01,332 (Log4JLogger.java:info:94) -Component: events, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Events
INFO 26-06 09:19:01,347 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.manager, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.core.Manager
INFO 26-06 09:19:01,379 (Log4JLogger.java:info:94) -Component: switcher, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.core.Switcher
INFO 26-06 09:19:01,394 (Log4JLogger.java:info:94) -Component: redirect, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.Redirect
INFO 26-06 09:19:01,394 (Log4JLogger.java:info:94) -Component: httpError, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.HttpError
INFO 26-06 09:19:01,410 (Log4JLogger.java:info:94) -Component: userPrincipal, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.UserPrincipal
INFO 26-06 09:19:01,425 (Log4JLogger.java:info:94) -Component: isUserInRole, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.IsUserInRole
INFO 26-06 09:19:01,441 (Log4JLogger.java:info:94) -Component: conversation, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.Conversation
INFO 26-06 09:19:01,457 (Log4JLogger.java:info:94) -Component: conversationList, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationList
INFO 26-06 09:19:01,472 (Log4JLogger.java:info:94) -Component: conversationStack, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationStack
INFO 26-06 09:19:01,488 (Log4JLogger.java:info:94) -Component: facesContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.FacesContext
INFO 26-06 09:19:01,488 (Log4JLogger.java:info:94) -Component: pageContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.PageContext
INFO 26-06 09:19:01,519 (Log4JLogger.java:info:94) -Component: eventContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.EventContext
INFO 26-06 09:19:01,519 (Log4JLogger.java:info:94) -Component: sessionContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.SessionContext
INFO 26-06 09:19:01,535 (Log4JLogger.java:info:94) -Component: statelessContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.StatelessContext
INFO 26-06 09:19:01,535 (Log4JLogger.java:info:94) -Component: applicationContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.ApplicationContext
INFO 26-06 09:19:01,535 (Log4JLogger.java:info:94) -Component: conversationContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationContext
INFO 26-06 09:19:01,613 (Log4JLogger.java:info:94) -Component: businessProcessContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.BusinessProcessContext
INFO 26-06 09:19:01,613 (Log4JLogger.java:info:94) -Component: locale, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Locale
INFO 26-06 09:19:01,629 (Log4JLogger.java:info:94) -Component: messages, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.Messages
INFO 26-06 09:19:01,644 (Log4JLogger.java:info:94) -Component: interpolator, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Interpolator
INFO 26-06 09:19:01,660 (Log4JLogger.java:info:94) -Component: facesMessages, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.FacesMessages
INFO 26-06 09:19:01,691 (Log4JLogger.java:info:94) -Component: resourceBundle, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.ResourceBundle
INFO 26-06 09:19:01,707 (Log4JLogger.java:info:94) -Component: localeSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.LocaleSelector
INFO 26-06 09:19:01,707 (Log4JLogger.java:info:94) -Component: uiComponent, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.UiComponent
INFO 26-06 09:19:01,722 (Log4JLogger.java:info:94) -Component: org.jboss.seam.remoting.messaging.subscriptionRegistry, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.remoting.messaging.SubscriptionRegistry
INFO 26-06 09:19:01,754 (Log4JLogger.java:info:94) -Component: pojoCache, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.PojoCache
INFO 26-06 09:19:01,988 (Log4JLogger.java:info:94) -Component: org.jboss.seam.core.ejb, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Ejb
INFO 26-06 09:19:02,082 (Log4JLogger.java:info:94) -scanning: C:\eclipse\workspace\seam-play\bin
INFO 26-06 09:19:02,160 (Log4JLogger.java:info:94) -scanning: C:\eclipse\workspace\seam-play\resource
INFO 26-06 09:19:02,175 (Log4JLogger.java:info:94) -Component: register, scope: STATELESS, type: STATELESS_SESSION_BEAN, class: org.jboss.seam.example.registration.RegisterAction, JNDI: RegisterAction/local
INFO 26-06 09:19:02,238 (Log4JLogger.java:info:94) -Component: user, scope: SESSION, type: ENTITY_BEAN, class: org.jboss.seam.example.registration.User
INFO 26-06 09:19:02,269 (Log4JLogger.java:info:94) -starting the embedded EJB container
WARN 26-06 09:19:04,285 (BeanSchemaBinding.java:init:227) -You should use the 2.0 version of the Microcontainer xml. xmlns='urn:jboss:bean-deployer:2.0'
INFO 26-06 09:19:05,550 (LocalTxDataSource.java:bindConnectionFactory:117) -Bound datasource to JNDI name 'java:/DefaultDS'
INFO 26-06 09:19:06,707 (Ejb3Deployment.java:create:467) -EJB3 deployment time took: 344
INFO 26-06 09:19:07,035 (Ejb3Deployment.java:create:467) -EJB3 deployment time took: 328
INFO 26-06 09:19:07,035 (MCKernelAbstraction.java:install:84) -installing bean: persistence.units:unitName=userDatabase with dependencies:
INFO 26-06 09:19:07,035 (MCKernelAbstraction.java:install:87) - AbstractDependencyMetaData@1217e67{dependency=DefaultDS}
INFO 26-06 09:19:07,113 (Log4JLogger.java:info:94) -Hibernate EntityManager 3.2.0.CR1
INFO 26-06 09:19:07,129 (Log4JLogger.java:info:94) -Hibernate Annotations 3.2.0.CR1
INFO 26-06 09:19:07,144 (Log4JLogger.java:info:94) -Hibernate 3.2 cr2
INFO 26-06 09:19:07,160 (Log4JLogger.java:info:94) -hibernate.properties not found
INFO 26-06 09:19:07,160 (Log4JLogger.java:info:94) -Bytecode provider name : cglib
INFO 26-06 09:19:07,191 (Log4JLogger.java:info:94) -using JDK 1.4 java.sql.Timestamp handling
INFO 26-06 09:19:07,347 (Log4JLogger.java:info:94) -Processing PersistenceUnitInfo [
name: userDatabase
...]
WARN 26-06 09:19:07,347 (Log4JLogger.java:warn:104) -Persistence provider caller does not implements the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.
INFO 26-06 09:19:07,363 (Log4JLogger.java:info:94) -Reading mappings from resource: META-INF/orm.xml
INFO 26-06 09:19:07,363 (Log4JLogger.java:info:94) -[PersistenceUnit: userDatabase] no META-INF/orm.xml found
INFO 26-06 09:19:07,425 (Log4JLogger.java:info:94) -Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
INFO 26-06 09:19:07,441 (Log4JLogger.java:info:94) -Using provided datasource
INFO 26-06 09:19:07,800 (Log4JLogger.java:info:94) -RDBMS: HSQL Database Engine, version: 1.8.0
INFO 26-06 09:19:07,800 (Log4JLogger.java:info:94) -JDBC driver: HSQL Database Engine Driver, version: 1.8.0
INFO 26-06 09:19:07,832 (Log4JLogger.java:info:94) -Using dialect: org.hibernate.dialect.HSQLDialect
INFO 26-06 09:19:07,879 (Log4JLogger.java:info:94) -Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
INFO 26-06 09:19:07,879 (Log4JLogger.java:info:94) -instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup
INFO 26-06 09:19:07,879 (Log4JLogger.java:info:94) -instantiated TransactionManagerLookup
INFO 26-06 09:19:07,879 (Log4JLogger.java:info:94) -Automatic flush during beforeCompletion(): disabled
INFO 26-06 09:19:07,879 (Log4JLogger.java:info:94) -Automatic session close at end of transaction: disabled
INFO 26-06 09:19:07,879 (Log4JLogger.java:info:94) -JDBC batch size: 15
INFO 26-06 09:19:07,879 (Log4JLogger.java:info:94) -JDBC batch updates for versioned data: disabled
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Scrollable result sets: enabled
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -JDBC3 getGeneratedKeys(): disabled
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Connection release mode: auto
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Default batch fetch size: 1
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Generate SQL with comments: disabled
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Order SQL updates by primary key: disabled
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Using ASTQueryTranslatorFactory
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Query language substitutions: {}
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Second-level cache: enabled
INFO 26-06 09:19:07,894 (Log4JLogger.java:info:94) -Query cache: disabled
INFO 26-06 09:19:07,910 (Log4JLogger.java:info:94) -Cache provider: org.hibernate.cache.HashtableCacheProvider
INFO 26-06 09:19:07,910 (Log4JLogger.java:info:94) -Optimize cache for minimal puts: disabled
INFO 26-06 09:19:07,910 (Log4JLogger.java:info:94) -Structured second-level cache entries: disabled
INFO 26-06 09:19:07,925 (Log4JLogger.java:info:94) -Statistics: disabled
INFO 26-06 09:19:07,925 (Log4JLogger.java:info:94) -Deleted entity synthetic identifier rollback: disabled
INFO 26-06 09:19:07,925 (Log4JLogger.java:info:94) -Default entity-mode: pojo
INFO 26-06 09:19:08,019 (Log4JLogger.java:info:94) -building session factory
INFO 26-06 09:19:08,019 (Log4JLogger.java:info:94) -Not binding factory to JNDI, no JNDI name configured
INFO 26-06 09:19:08,035 (Log4JLogger.java:info:94) -Running hbm2ddl schema export
INFO 26-06 09:19:08,035 (Log4JLogger.java:info:94) -exporting generated schema to database
INFO 26-06 09:19:08,175 (Log4JLogger.java:info:94) -schema export complete
INFO 26-06 09:19:08,191 (Log4JLogger.java:info:94) -JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
INFO 26-06 09:19:08,222 (MCKernelAbstraction.java:install:84) -installing bean: jboss.j2ee:jar=bin,name=RegisterAction,service=EJB3 with dependencies:
INFO 26-06 09:19:08,222 (MCKernelAbstraction.java:install:87) - AbstractDependencyMetaData@148e798{dependency=persistence.units:unitName=userDatabase}
INFO 26-06 09:19:08,613 (EJBContainer.java:start:553) -STARTED EJB: org.jboss.seam.example.registration.RegisterAction ejbName: RegisterAction
INFO 26-06 09:19:08,644 (Log4JLogger.java:info:94) -done initializing Seam
INFO 26-06 09:19:09,097 (Log4JLogger.java:info:94) -stopping the embedded EJB container
INFO 26-06 09:19:09,129 (Log4JLogger.java:info:94) -closing
INFO 26-06 09:19:09,129 (Log4JLogger.java:info:94) -Running hbm2ddl schema export
INFO 26-06 09:19:09,129 (Log4JLogger.java:info:94) -exporting generated schema to database
INFO 26-06 09:19:09,129 (Log4JLogger.java:info:94) -schema export complete
FAILED: testLogin
javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select username from User where username=:username]
at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
at $Proxy30.register(Unknown Source)
at org.jboss.seam.example.registration.RegisterTest$1.invokeApplication(RegisterTest.java:33)
at org.jboss.seam.mock.SeamTest$Script.run(SeamTest.java:242)
at org.jboss.seam.example.registration.RegisterTest.testLogin(RegisterTest.java:47)
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.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:552)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:407)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:778)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105)
at org.testng.TestRunner.privateRun(TestRunner.java:682)
at org.testng.TestRunner.run(TestRunner.java:566)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:220)
at org.testng.SuiteRunner.run(SuiteRunner.java:146)
at org.testng.eclipse.runner.RemoteTestNG.run(RemoteTestNG.java:98)
at org.testng.eclipse.runner.RemoteTestNG.main(RemoteTestNG.java:138)
Caused by: javax.persistence.PersistenceException: org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select username from User where username=:username]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:567)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:79)
at org.jboss.ejb3.entity.TransactionScopedEntityManager.createQuery(TransactionScopedEntityManager.java:127)
at org.jboss.seam.example.registration.RegisterAction.register(RegisterAction.java:35)
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.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:109)
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
... 32 more
Caused by: org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select username from User where username=:username]
at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87)
at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:267)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3049)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2938)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:227)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:159)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:110)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1612)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:76)
... 47 more
===============================================
Register
Tests run: 1, Failures: 1, Skips: 0
===============================================
===============================================
Registration
Total tests run: 1, Failures: 1, Skips: 0
=============================================== -
6. Re: running Eclipse TestNG plugin on a Seam project
dbatcn Jun 27, 2006 4:39 PM (in response to dbatcn)Anybody got any ideas? Adding
<component class="org.jboss.seam.example.registration.User"/>
to components.xml doesn't seem to change anything. If I create a META-INF/orm.xml file (which the correctly functioning ant version doesn't have) with the following contents:<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd" version="1.0"> <entity class="org.jboss.seam.example.registration.User" access="PROPERTY"> </entity> </entity-mappings>
then it's still missing the "adding class annotation DefaultInterceptorMarker" and "found EJB3 Entity bean: org.jboss.seam.example.registration.User" messages, but it doesn get the messages about binding entity from annotated class User to table users. As the test proceeds, the error about user not being mapped doesn't show up, but then when the test runs, it fails to get the user instanceUser user = (User) Component.getInstance("user", true); assert user!=null;
Is there anybody with some more Seam experience who can suggest what might be misconfigured?
Thanks. -
7. Re: running Eclipse TestNG plugin on a Seam project
dbatcn Jun 27, 2006 8:00 PM (in response to dbatcn)Mystery solved: The "resource" directory in my project was entered into the project's classpath as a "class folder" in the "Libraries" tab of the "Java Build Path" property for the project. I moved it to being a source folder and it worked. Voila.
-
8. Re: running Eclipse TestNG plugin on a Seam project
jtucker Jun 28, 2006 8:06 AM (in response to dbatcn)Glad to hear you are up and running!
-
9. Re: running Eclipse TestNG plugin on a Seam project
dbatcn Jun 29, 2006 11:20 PM (in response to dbatcn)Here's the Wiki entry I made: http://wiki.jboss.org/wiki/Wiki.jsp?page=SeamEclipseHowto .
I hope it helps someone.