You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Howard Lewis Ship <hl...@gmail.com> on 2007/05/17 00:23:30 UTC

Re: T5: ContextForPageTester error

Wow!  Not only am I not sure what's going on here, but I know a lot of this
changes in 5.0.5.  I'm reworking PageTester right now.

On 5/16/07, Joel Wiegman <Jo...@btservices.com> wrote:
>
> Hello all,
>
> I'm trying to get a simple PageTester working using JUnit:
>
> public class TestStoreHierarchy {
>
>         private PageTester tester;
>
>         @Before
>         public void setUpStoreHierarchyTests() {
>         tester = new PageTester("com.btservices.storeportal", "app",
> "src/main/webapp");
>         }
>
>         @Test
>         public void testStoreHierarchy() {
>         Document doc = tester.renderPage("status/Start");
>         Element form = doc.getElementById("form");
>         Map<String, String> fieldValues = new HashMap<String, String>();
>         assertTrue(doc.getElementById("region") == null);
>         fieldValues.put("brand", "DSW");
>         doc = tester.submitForm(form, fieldValues);
>         assertTrue(doc.getElementById("region") != null);
>
>         }
>
> }
>
> And Tapestry 5.0.4 is throwing it's own run-time error (code found here:
> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/
> main/java/org/apache/tapestry/test/pagelevel/ContextForPageTester.java?v
> iew=markup ).
>
> I'm using Spring to inject values, and it seems to have a problem with
> Spring's WebApplicationContext.  Please advise.  Thanks!
>
> <HOLD YOUR BREATH>
>
> [ERROR] WebApplicationContext Construction of service
> WebApplicationContext failed: Error invoking service builder method
> org.apache.tapestry.spring.SpringModule.build(Context) (at
> SpringModule.java:46) (for service 'WebApplicationContext'): An
> exception occurred obtaining the Spring WebApplicationContext:
> getAttribute() is not supported for ContextForPageTester.
> java.lang.RuntimeException: Error invoking service builder method
> org.apache.tapestry.spring.SpringModule.build(Context) (at
> SpringModule.java:46) (for service 'WebApplicationContext'): An
> exception occurred obtaining the Spring WebApplicationContext:
> getAttribute() is not supported for ContextForPageTester.
>         at
> org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObjec
> t(ServiceBuilderMethodInvoker.java:87)
>         at
> org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService
> (SingletonServiceLifecycle.java:31)
>         at
> org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createOb
> ject(LifecycleWrappedServiceCreator.java:49)
>         at
> org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(In
> terceptorStackBuilder.java:54)
>         at
> org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.cr
> eateObject(RecursiveServiceCreationCheckWrapper.java:60)
>         at
> org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.create
> Object(JustInTimeObjectCreator.java:61)
>         at
> $WebApplicationContext_1129587b4b7._delegate($WebApplicationContext_1129
> 587b4b7.java)
>         at
> $WebApplicationContext_1129587b4b7.getBeanDefinitionNames($WebApplicatio
> nContext_1129587b4b7.java)
>         at
> org.apache.tapestry.spring.SpringObjectProvider.loadBeanNames(SpringObje
> ctProvider.java:56)
>         at
> org.apache.tapestry.spring.SpringObjectProvider.provide(SpringObjectProv
> ider.java:80)
>         at
> $ObjectProvider_1129587b4b4.provide($ObjectProvider_1129587b4b4.java)
>         at
> $ObjectProvider_1129587b4b6.provide($ObjectProvider_1129587b4b6.java)
>         at
> $ObjectProvider_1129587b4b1.provide($ObjectProvider_1129587b4b1.java)
>         at
> org.apache.tapestry.internal.services.InjectWorker.inject(InjectWorker.j
> ava:80)
>         at
> org.apache.tapestry.internal.services.InjectWorker.transform(InjectWorke
> r.java:53)
>         at
> $ComponentClassTransformWorker_1129587b4e2.transform($ComponentClassTran
> sformWorker_1129587b4e2.java)
>         at
> $ComponentClassTransformWorker_1129587b4df.transform($ComponentClassTran
> sformWorker_1129587b4df.java)
>         at
> org.apache.tapestry.internal.services.ComponentClassTransformerImpl.tran
> sformComponentClass(ComponentClassTransformerImpl.java:131)
>         at
> $ComponentClassTransformer_1129587b4cb.transformComponentClass($Componen
> tClassTransformer_1129587b4cb.java)
>         at
> org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.on
> Load(ComponentInstantiatorSourceImpl.java:177)
>         at javassist.Loader.findClass(Loader.java:340)
>         at
> org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$Pa
> ckageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:85)
>         at javassist.Loader.loadClass(Loader.java:311)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>         at
> org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.fi
> ndClass(ComponentInstantiatorSourceImpl.java:254)
>         at
> org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.fi
> ndInstantiator(ComponentInstantiatorSourceImpl.java:240)
>         at
> $ComponentInstantiatorSource_1129587b4c2.findInstantiator($ComponentInst
> antiatorSource_1129587b4c2.java)
>         at
> org.apache.tapestry.internal.services.PageElementFactoryImpl.newRootComp
> onentElement(PageElementFactoryImpl.java:189)
>         at
> $PageElementFactory_1129587b4da.newRootComponentElement($PageElementFact
> ory_1129587b4da.java)
>         at
> org.apache.tapestry.internal.services.PageLoaderProcessor.loadRootCompon
> ent(PageLoaderProcessor.java:348)
>         at
> org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageL
> oaderProcessor.java:333)
>         at
> org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoader
> Impl.java:62)
>         at
> $PageLoader_1129587b4d8.loadPage($PageLoader_1129587b4d8.java)
>         at
> org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl
> .java:63)
>         at $PagePool_1129587b4d7.checkout($PagePool_1129587b4d7.java)
>         at
> org.apache.tapestry.internal.services.RequestPageCacheImpl.getByClassNam
> e(RequestPageCacheImpl.java:58)
>         at
> org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPa
> geCacheImpl.java:49)
>         at
> $RequestPageCache_1129587b4d6.get($RequestPageCache_1129587b4d6.java)
>         at
> $RequestPageCache_1129587b4be.get($RequestPageCache_1129587b4be.java)
>         at
> org.apache.tapestry.internal.services.PageLinkHandlerImpl.handle(PageLin
> kHandlerImpl.java:57)
>         at
> $PageLinkHandler_1129587b4cd.handle($PageLinkHandler_1129587b4cd.java)
>         at
> org.apache.tapestry.test.pagelevel.PageLinkInvoker.invoke(PageLinkInvoke
> r.java:61)
>         at
> org.apache.tapestry.test.pagelevel.PageTester.invoke(PageTester.java:212
> )
>         at
> org.apache.tapestry.test.pagelevel.PageTester.renderPage(PageTester.java
> :180)
>         at
> com.btservices.storeportal.components.TestStoreHierarchy.testStoreHierar
> chy(TestStoreHierarchy.java:25)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethod
> Runner.java:99)
>         at
> org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRun
> ner.java:81)
>         at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAf
> terRunner.java:34)
>         at
> org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.j
> ava:75)
>         at
> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45
> )
>         at
> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestC
> lassMethodsRunner.java:66)
>         at
> org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRu
> nner.java:35)
>         at
> org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRun
> ner.java:42)
>         at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAf
> terRunner.java:34)
>         at
> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
>         at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.jav
> a:62)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSe
> t(AbstractDirectoryTestSuite.java:138)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(Abstr
> actDirectoryTestSuite.java:125)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(Suref
> ireBooter.java:290)
>         at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java
> :818)
> Caused by: java.lang.RuntimeException: An exception occurred obtaining
> the Spring WebApplicationContext: getAttribute() is not supported for
> ContextForPageTester.
>         at
> org.apache.tapestry.spring.SpringModule.build(SpringModule.java:55)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObjec
> t(ServiceBuilderMethodInvoker.java:75)
>         ... 68 more
> Caused by: java.lang.UnsupportedOperationException: getAttribute() is
> not supported for ContextForPageTester.
>         at
> org.apache.tapestry.test.pagelevel.ContextForPageTester.getAttribute(Con
> textForPageTester.java:64)
>         at $Context_1129587b4e5.getAttribute($Context_1129587b4e5.java)
>         at $Context_1129587b4e4.getAttribute($Context_1129587b4e4.java)
>         at
> org.apache.tapestry.spring.SpringModule.build(SpringModule.java:50)
>         ... 73 more
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com