Not sure why your service is not bund but your context path src/main/java is
wrong.

On Sat, Jul 16, 2011 at 5:11 PM, Julien Martin <bal...@gmail.com> wrote:

> Hello,
> I have an issue with a unit test in Tapestry. It seems Tapestry is not able
> to find a service when I run the unit tests whereas there are no problems
> when I run the application from the browser. What have I misconfigured?
> Thanks in advance,
> Julien.
>
> Here is the unit test:
> *
>    @Test
>    public void test1() {
>        String appPackage = "com.cheetah.web";
>        String appName = "app";
>        PageTester tester = new PageTester(appPackage, appName,
> "src/main/java");
>        Document doc = tester.renderPage("CreateJobPosting");
>        Element createJobPostingForm =
> doc.getElementById("createJobPostingForm");
>        Map<String, String> fieldValues = new HashMap<String, String>();
>        fieldValues.put("jobPostingTitle", "Développeur
> java/Tapestry/Junit");
>        fieldValues.put("jobPostingBody", "Poste de de développeur agile/XP
> qui travaillera en TDD exclusivement");
>        Document docFromForm = tester.submitForm(createJobPostingForm,
> fieldValues);
>        assertTrue(docFromForm.toString().contains("TDD exclusivement"));
>    }*
>
>
>
> Here is the stack trace:
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in
>
> [jar:file:/home/julien/.m2/repository/org/slf4j/slf4j-simple/1.5.8/slf4j-simple-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in
>
> [jar:file:/home/julien/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
> 127 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding module
> definition for class org.apache.tapestry5.ioc.services.TapestryIOCModule
> 421 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding module
> definition for class org.apache.tapestry5.beanvalidator.BeanValidatorModule
> 438 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding module
> definition for class org.apache.tapestry5.spring.SpringModule
> 927 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding module
> definition for class org.apache.tapestry5.services.TapestryModule
> 1226 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding module
> definition for class org.apache.tapestry5.internal.services.InternalModule
> 1294 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding module
> definition for class com.cheetah.web.services.AppModule
> 1307 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding module
> definition for class org.apache.tapestry5.internal.test.PageTesterModule
> 2878 [main] INFO
> org.apache.tapestry5.services.TapestryModule.ComponentClassResolver -
> Available pages:
>              (blank): com.cheetah.web.pages.CreateJobPostingTests
>     ConfirmationPage: com.cheetah.web.pages.ConfirmationPage
>     CreateJobPosting: com.cheetah.web.pages.CreateJobPosting
> CreateJobPostingTests: com.cheetah.web.pages.CreateJobPostingTests
>      ExceptionReport: org.apache.tapestry5.corelib.pages.ExceptionReport
>     JobPostingsTable: com.cheetah.web.pages.JobPostingsTable
> PropertyDisplayBlocks:
> org.apache.tapestry5.corelib.pages.PropertyDisplayBlocks
>   PropertyEditBlocks: org.apache.tapestry5.corelib.pages.PropertyEditBlocks
>        ServiceStatus: org.apache.tapestry5.corelib.pages.ServiceStatus
>
> 2882 [main] INFO
> org.apache.tapestry5.services.TapestryModule.ComponentClassResolver -
> Available components:
>        ActionLink: org.apache.tapestry5.corelib.components.ActionLink
>        AddRowLink: org.apache.tapestry5.corelib.components.AddRowLink
>      AjaxFormLoop: org.apache.tapestry5.corelib.components.AjaxFormLoop
>               Any: org.apache.tapestry5.corelib.components.Any
>       BeanDisplay: org.apache.tapestry5.corelib.components.BeanDisplay
>      BeanEditForm: org.apache.tapestry5.corelib.components.BeanEditForm
>        BeanEditor: org.apache.tapestry5.corelib.components.BeanEditor
>          Checkbox: org.apache.tapestry5.corelib.components.Checkbox
>         DateField: org.apache.tapestry5.corelib.components.DateField
>          Delegate: org.apache.tapestry5.corelib.components.Delegate
>             Error: org.apache.tapestry5.corelib.components.Error
>            Errors: org.apache.tapestry5.corelib.components.Errors
>         EventLink: org.apache.tapestry5.corelib.components.EventLink
>  ExceptionDisplay: org.apache.tapestry5.corelib.components.ExceptionDisplay
>              Form: org.apache.tapestry5.corelib.components.Form
>      FormFragment: org.apache.tapestry5.corelib.components.FormFragment
>      FormInjector: org.apache.tapestry5.corelib.components.FormInjector
>              Grid: org.apache.tapestry5.corelib.components.Grid
>          GridCell: org.apache.tapestry5.corelib.components.GridCell
>       GridColumns: org.apache.tapestry5.corelib.components.GridColumns
>         GridPager: org.apache.tapestry5.corelib.components.GridPager
>          GridRows: org.apache.tapestry5.corelib.components.GridRows
>            Hidden: org.apache.tapestry5.corelib.components.Hidden
>                If: org.apache.tapestry5.corelib.components.If
>             Label: org.apache.tapestry5.corelib.components.Label
>            Layout: com.cheetah.web.components.Layout
>        LinkSubmit: org.apache.tapestry5.corelib.components.LinkSubmit
>              Loop: org.apache.tapestry5.corelib.components.Loop
>            Output: org.apache.tapestry5.corelib.components.Output
>         OutputRaw: org.apache.tapestry5.corelib.components.OutputRaw
>          PageLink: org.apache.tapestry5.corelib.components.PageLink
>           Palette: org.apache.tapestry5.corelib.components.Palette
>     PasswordField: org.apache.tapestry5.corelib.components.PasswordField
> ProgressiveDisplay:
> org.apache.tapestry5.corelib.components.ProgressiveDisplay
>   PropertyDisplay: org.apache.tapestry5.corelib.components.PropertyDisplay
>    PropertyEditor: org.apache.tapestry5.corelib.components.PropertyEditor
>             Radio: org.apache.tapestry5.corelib.components.Radio
>        RadioGroup: org.apache.tapestry5.corelib.components.RadioGroup
>     RemoveRowLink: org.apache.tapestry5.corelib.components.RemoveRowLink
>      RenderObject: org.apache.tapestry5.corelib.components.RenderObject
>            Select: org.apache.tapestry5.corelib.components.Select
>            Submit: org.apache.tapestry5.corelib.components.Submit
>    SubmitNotifier: org.apache.tapestry5.corelib.components.SubmitNotifier
>          TextArea: org.apache.tapestry5.corelib.components.TextArea
>         TextField: org.apache.tapestry5.corelib.components.TextField
>        TextOutput: org.apache.tapestry5.corelib.components.TextOutput
>           Trigger: org.apache.tapestry5.corelib.components.Trigger
>            Unless: org.apache.tapestry5.corelib.components.Unless
>              Zone: org.apache.tapestry5.corelib.components.Zone
>
> 2893 [main] INFO
> org.apache.tapestry5.services.TapestryModule.ComponentClassResolver -
> Available mixins:
>      Autocomplete: org.apache.tapestry5.corelib.mixins.Autocomplete
>       DiscardBody: org.apache.tapestry5.corelib.mixins.DiscardBody
>          NotEmpty: org.apache.tapestry5.corelib.mixins.NotEmpty
>    RenderClientId: org.apache.tapestry5.corelib.mixins.RenderClientId
>    RenderDisabled: org.apache.tapestry5.corelib.mixins.RenderDisabled
>   RenderInformals: org.apache.tapestry5.corelib.mixins.RenderInformals
> RenderNotification: org.apache.tapestry5.corelib.mixins.RenderNotification
>   TriggerFragment: org.apache.tapestry5.corelib.mixins.TriggerFragment
>
> 5957 [main] ERROR org.apache.tapestry5.ioc.Registry -* Error obtaining
> injected value for field
> com.cheetah.web.pages.ConfirmationPage.cheetahService: No service
> implements
> the interface com.cheetah.service.CheetahService.*
> 5957 [main] ERROR org.apache.tapestry5.ioc.Registry - Operations trace:
> 5958 [main] ERROR org.apache.tapestry5.ioc.Registry - [ 1] Constructing
> instance of page class com.cheetah.web.pages.CreateJobPosting
> 5958 [main] ERROR org.apache.tapestry5.ioc.Registry - [ 2] Assembling root
> component for page CreateJobPosting
> 5958 [main] ERROR org.apache.tapestry5.ioc.Registry - [ 3] Transforming
> component class com.cheetah.web.pages.ConfirmationPage
> 5959 [main] ERROR org.apache.tapestry5.ioc.Registry - [ 4] Injecting field
> cheetahService
> 5973 [main] ERROR
> org.apache.tapestry5.services.TapestryModule.RequestExceptionHandler -
> Processing of request failed with uncaught exception: Exception assembling
> root component of page CreateJobPosting: Could not convert 'jobPosting'
> into
> a component parameter binding: Exception generating conduit for expression
> 'jobPosting': java.lang.NoClassDefFoundError:
> com/cheetah/web/pages/ConfirmationPage
> java.lang.RuntimeException: Exception assembling root component of page
> CreateJobPosting: Could not convert 'jobPosting' into a component parameter
> binding: Exception generating conduit for expression 'jobPosting':
> java.lang.NoClassDefFoundError: com/cheetah/web/pages/ConfirmationPage
>    at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.java:124)
>    at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.access$000(ComponentAssemblerImpl.java:38)
>    at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:82)
>    at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:79)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>    at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
>    at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.assembleRootComponent(ComponentAssemblerImpl.java:77)
>    at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:182)
>    at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:174)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>    at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
>    at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:173)
>    at $PageLoader_1313378ed91.loadPage($PageLoader_1313378ed91.java)
>    at
>
> org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:81)
>    at $PageSource_1313378ed90.getPage($PageSource_1313378ed90.java)
>    at
>
> org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:74)
>    at $RequestPageCache_1313378ed8f.get($RequestPageCache_1313378ed8f.java)
>    at $RequestPageCache_1313378ed89.get($RequestPageCache_1313378ed89.java)
>    at
>
> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55)
>    at
>
> org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
>    at
>
> $PageRenderRequestHandler_1313378ed8d.handle($PageRenderRequestHandler_1313378ed8d.java)
>    at
>
> $PageRenderRequestHandler_1313378ed87.handle($PageRenderRequestHandler_1313378ed87.java)
>    at
>
> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
>    at
>
> org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
>    at
>
> $ComponentRequestHandler_1313378ed88.handlePageRender($ComponentRequestHandler_1313378ed88.java)
>    at
>
> $ComponentRequestHandler_1313378ed67.handlePageRender($ComponentRequestHandler_1313378ed67.java)
>    at
>
> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
>    at $Dispatcher_1313378ed69.dispatch($Dispatcher_1313378ed69.java)
>    at $Dispatcher_1313378ed61.dispatch($Dispatcher_1313378ed61.java)
>    at
>
> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
>    at
>
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
>    at $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>    at
>
> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
>    at $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>    at
>
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
>    at $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>    at
>
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
>    at $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>    at
>
> org.apache.tapestry5.internal.test.EndOfRequestCleanupFilter.service(EndOfRequestCleanupFilter.java:42)
>    at $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>    at
>
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
>    at
>
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
>    at
>
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>    at
>
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
>    at $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>    at $RequestHandler_1313378ed52.service($RequestHandler_1313378ed52.java)
>    at
>
> org.apache.tapestry5.test.PageTester.renderPageAndReturnResponse(PageTester.java:209)
>    at org.apache.tapestry5.test.PageTester.renderPage(PageTester.java:179)
>    at
>
> com.cheetah.web.pages.CreateJobPostingTests.test1(CreateJobPostingTests.java:27)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>    at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>    at java.lang.reflect.Method.invoke(Method.java:616)
>    at
>
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>    at
>
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>    at
>
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>    at
>
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>    at
>
> org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
>    at
>
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
>    at
>
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
>    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>    at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>    at
>
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:71)
>    at
>
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:199)
>    at
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>    at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>    at java.lang.reflect.Method.invoke(Method.java:616)
>    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Could
> not convert 'jobPosting' into a component parameter binding: Exception
> generating conduit for expression 'jobPosting':
> java.lang.NoClassDefFoundError: com/cheetah/web/pages/ConfirmationPage [at
> classpath:com/cheetah/web/pages/CreateJobPosting.tml, line 3]
>    at
>
> org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:82)
>    at
> $BindingSource_1313378eda6.newBinding($BindingSource_1313378eda6.java)
>    at
>
> org.apache.tapestry5.internal.services.PageElementFactoryImpl.newBinding(PageElementFactoryImpl.java:184)
>    at
>
> $PageElementFactory_1313378ed9d.newBinding($PageElementFactory_1313378ed9d.java)
>    at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$12.execute(PageLoaderImpl.java:859)
>    at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.runActions(ComponentAssemblerImpl.java:217)
>    at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.java:103)
>    ... 76 more
> Caused by:
> org.apache.tapestry5.internal.services.PropertyExpressionException:
> Exception generating conduit for expression 'jobPosting':
> java.lang.NoClassDefFoundError: com/cheetah/web/pages/ConfirmationPage
>    at
>
> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1325)
>    at
>
> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1208)
>    at
>
> $PropertyConduitSource_1313378ee09.create($PropertyConduitSource_1313378ee09.java)
>    at
>
> org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49)
>    at
> $BindingFactory_1313378ee0a.newBinding($BindingFactory_1313378ee0a.java)
>    at
> $BindingFactory_1313378ee01.newBinding($BindingFactory_1313378ee01.java)
>    at
>
> org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78)
>    ... 82 more
> Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError:
> com/cheetah/web/pages/ConfirmationPage
>    at
>
> org.apache.tapestry5.ioc.internal.services.PropertyAccessImpl.buildAdapter(PropertyAccessImpl.java:103)
>    at
>
> org.apache.tapestry5.ioc.internal.services.PropertyAccessImpl.getAdapter(PropertyAccessImpl.java:68)
>    at
> $PropertyAccess_1313378ed59.getAdapter($PropertyAccess_1313378ed59.java)
>    at
>
> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.infoForPropertyOrPublicField(PropertyConduitSourceImpl.java:1028)
>    at
>
> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.infoForMember(PropertyConduitSourceImpl.java:1021)
>    at
>
> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createGetterAndSetter(PropertyConduitSourceImpl.java:451)
>    at
>
> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createAccessors(PropertyConduitSourceImpl.java:435)
>    at
>
> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createInstance(PropertyConduitSourceImpl.java:290)
>    at
>
> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1321)
>    ... 88 more
> Caused by: java.lang.NoClassDefFoundError:
> com/cheetah/web/pages/ConfirmationPage
>    at java.lang.Class.getDeclaredMethods0(Native Method)
>    at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
>    at java.lang.Class.getDeclaredMethods(Class.java:1808)
>    at java.beans.Introspector$1.run(Introspector.java:1324)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at
> java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1322)
>    at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1188)
>    at java.beans.Introspector.getBeanInfo(Introspector.java:423)
>    at java.beans.Introspector.getBeanInfo(Introspector.java:189)
>    at
>
> org.apache.tapestry5.ioc.internal.services.PropertyAccessImpl.buildAdapter(PropertyAccessImpl.java:87)
>    ... 96 more
> Caused by: java.lang.ClassNotFoundException: caught an exception while
> obtaining a class file for com.cheetah.web.pages.ConfirmationPage
>    at javassist.Loader.findClass(Loader.java:359)
>    at
>
> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:102)
>    at javassist.Loader.loadClass(Loader.java:311)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>    ... 106 more
> Caused by: org.apache.tapestry5.internal.services.TransformationException:
> Error obtaining injected value for field
> com.cheetah.web.pages.ConfirmationPage.cheetahService: No service
> implements
> the interface com.cheetah.service.CheetahService.
>    at
>
> org.apache.tapestry5.internal.services.ComponentClassTransformerImpl$1.run(ComponentClassTransformerImpl.java:208)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:47)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:46)
>    at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56)
>    at
> org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1058)
>    at
>
> org.apache.tapestry5.internal.services.ComponentClassTransformerImpl.transformComponentClass(ComponentClassTransformerImpl.java:119)
>    at
>
> $ComponentClassTransformer_1313378ed78.transformComponentClass($ComponentClassTransformer_1313378ed78.java)
>    at
>
> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:212)
>    at javassist.Loader.findClass(Loader.java:340)
>    ... 109 more
> Caused by: org.apache.tapestry5.ioc.internal.OperationException: Error
> obtaining injected value for field
> com.cheetah.web.pages.ConfirmationPage.cheetahService: No service
> implements
> the interface com.cheetah.service.CheetahService.
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:102)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:69)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:46)
>    at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56)
>    at
> org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1058)
>    at
>
> org.apache.tapestry5.internal.transform.InjectWorker.transform(InjectWorker.java:54)
>    at
>
> $ComponentClassTransformWorker_1313378edb0.transform($ComponentClassTransformWorker_1313378edb0.java)
>    at
>
> $ComponentClassTransformWorker_1313378eda1.transform($ComponentClassTransformWorker_1313378eda1.java)
>    at
>
> org.apache.tapestry5.internal.services.ComponentClassTransformerImpl$1.run(ComponentClassTransformerImpl.java:202)
>    ... 119 more
> Caused by: java.lang.RuntimeException: Error obtaining injected value for
> field com.cheetah.web.pages.ConfirmationPage.cheetahService: No service
> implements the interface com.cheetah.service.CheetahService.
>    at
>
> org.apache.tapestry5.internal.transform.InjectWorker$1.run(InjectWorker.java:75)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:47)
>    at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>    ... 126 more
> Caused by: java.lang.RuntimeException: No service implements the interface
> com.cheetah.service.CheetahService.
>    at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:670)
>    at
>
> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:45)
>    at
>
> org.apache.tapestry5.internal.services.ServiceInjectionProvider.provideInjection(ServiceInjectionProvider.java:40)
>    at
>
> $InjectionProvider_1313378edba.provideInjection($InjectionProvider_1313378edba.java)
>    at
>
> $InjectionProvider_1313378eda7.provideInjection($InjectionProvider_1313378eda7.java)
>    at
>
> org.apache.tapestry5.internal.transform.InjectWorker$1.run(InjectWorker.java:67)
>    ... 129 more
>
> java.lang.NullPointerException
>    at
>
> org.apache.tapestry5.test.PageTester.validateElementName(PageTester.java:286)
>    at
>
> org.apache.tapestry5.test.PageTester.submitFormAndReturnResponse(PageTester.java:421)
>    at org.apache.tapestry5.test.PageTester.submitForm(PageTester.java:399)
>    at
>
> com.cheetah.web.pages.CreateJobPostingTests.test1(CreateJobPostingTests.java:32)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>    at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>    at
>
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>    at
>
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>    at
>
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>    at
>
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>    at
>
> org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
>    at
>
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
>    at
>
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
>    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>    at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>    at
>
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:71)
>    at
>
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:199)
>    at
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
>
>
> Process finished with exit code 255
>



-- 
Best regards,

Igor Drobiazko
http://tapestry5.de

Reply via email to