The reason is that you misspelled the UrlLink object as "UlrLink",
UlrLink(uid: "subscribe", colocator:[tag:"li", id: "subscribe"]) Because the DSL parser cannot find the UlrLink object builder from the object buider registry, the builder is null, thus, it throws the "Cannot get property 'uid' on null object" exception. Thanks, Jian On Tue, Jun 16, 2009 at 6:59 PM, Manoj Chavan <[email protected]>wrote: > > > Hi John, > > I am using the following module definition for the html pasted below. > When I run the test, I get the following error. > When I remove the Module Definition rest of the tests run fine. Can you let > me know how my definition differs from TrUMP's? > > Regards, > > Manoj > > > //ERROR: > java.lang.NullPointerException: Cannot get property 'uid' on null object > at > org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:56) > at > org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:153) > at > org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:29) > at > org.codehaus.groovy.runtime.callsite.GetEffectivePogoPropertySite.callGroovyObjectGetProperty(GetEffectivePogoPropertySite.java:49) > at org.tellurium.object.Container.add(Container.groovy:27) > at org.tellurium.object.Container$add.call(Unknown Source) > at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43) > at org.tellurium.object.List$add.call(Unknown Source) > at org.tellurium.dsl.UiDslParser.setParent(UiDslParser.groovy:103) > at groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:134) > at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:64) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:424) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:346) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892) > at > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66) > at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite..java:142) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:150) > at module.BRHomePage$_defineUi_closure6.doCall(BRHomePage.groovy:54) > 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.groovy..reflection.CachedMethod.invoke(CachedMethod.java:86) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234) > at > org.codehaus.groovy..runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892) > at > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66) > at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:142) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:150) > at module.BRHomePage$_defineUi_closure6.doCall(BRHomePage.groovy) > 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.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892) > at groovy.lang.Closure.call(Closure.java:279) > at groovy.lang.Closure.call(Closure.java:274) > at groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:143) > at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:64) > at > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45) > at > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) > at module.BRHomePage.defineUi(BRHomePage.groovy:48) > at test.BRHomePageTestCase.initUi(BRHomePageTestCase.java:22) > 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.junit.internal.runners.ClassRoadie.runBefores(ClassRoadie.java:49) > at > org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:36) > at > org.junit.internal.runners.JUnit4ClassRunner..run(JUnit4ClassRunner.java:42) > at > org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) > at org.apache.maven.surefire.Surefire.run(Surefire.java:177) > 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.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) > at > org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) > > //MY MODULE DEFINITION: > > ui.Container(uid:"subnav", clocator:[tag:"ul",id:"subnav"]){ > Container(uid: "CoreLinks", clocator:[tag: "li", id: > "core_links"]){ > List(uid:"links", clocator:[tag: "ul"], separator: "li"){ > UrlLink(uid: "all", clocator:[:]) > } > } > UlrLink(uid: "subscribe", colocator:[tag:"li", id: > "subscribe"]) > } > > > //TrUMP Generated Definition: > Container(uid: "root", clocator: [tag: "ul", id: "subnav"]){ > Container(uid: "T4dd", clocator: [tag: "ul"]){ > UrlLink(uid: "a0", clocator: [tag: "a", text: "Front Page", href: > "/"]) > UrlLink(uid: "a1", clocator: [tag: "a", text: "Top Writers", href: > "/top-writers"]) > UrlLink(uid: "a2", clocator: [tag: "a", text: "Activities", href: > "/activities"]) > UrlLink(uid: "a3", clocator: [tag: "a", text: "Write", href: > "/articles/new"]) > } > UrlLink(uid: "a4", clocator: [tag: "a", text: "Subscribe to Front Page", > href: "/articles;feed?tag_id=1"]) > } > > > // HTML UNDER TEST: > > <ul id="subnav"> > <li id="core_links"> > <ul> > <li class="active"> > <a href="/" style="background-color: rgb(169, 218, 146);">Front Page</a> > </li> > <li> > <a href="/top-writers" style="background-color: rgb(169, 218, 146);">Top > Writers</a> > </li> > <li> > <a rel="nofollow" href="/activities" style="background-color: rgb(169, 218, > 146);">Activities</a> > </li> > <li> > <a href="/articles/new" style="background-color: rgb(169, 218, > 146);">Write</a> > </li> > <li/> > </ul> > </li> > <li id="subscribe"> > <a href="/articles;feed?tag_id=1" style="background-color: rgb(169, 218, > 146);">Subscribe to Front Page</a> > </li> > </ul> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "tellurium-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/tellurium-users?hl=en -~----------~----~----~----~------~----~------~--~---
