Quantcast

FW: Scaffolding Phase 1 Complete

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

FW: Scaffolding Phase 1 Complete

Dierk König
*hehe* very nice.

two points, though:
- running depends on Java 5 (so does compiling but that was already known)
- when posting a comment I get

   [script] OGNL error attempt to set 'entryId' to value '2' for object
'Comment@1cbcf91':Comment.entryId
   [script] ognl.NoSuchPropertyException: Comment.entryId

I will send you the whole log to your personal address since it is too large
for this listserver :-(

Great work!
Mittie

P.S. it's time I write a webtest for the blog sample...

----


> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]]On Behalf
> Of Graeme Rocher
> Sent: Dienstag, 13. Dezember 2005 18:34
> To: [hidden email]
> Subject: [grails-dev] Scaffolding Phase 1 Complete
>
>
> Hi all,
>
> Basic scaffolding is now implemented in Grails. To see it in action
> take a look at the blog sample up by doing
>
> grails init
> grails run-app
>
> and going to http://localhost:8080/blog/app/entry/list
>
> A very basic weblog implemented in Grails. But the cool thing about it
> is it demonstrates Grails non-templated approach to scaffolding. The
> controller is essentially this:
>
> class EntryController {
> @Property boolean scaffold = true
>
> @Property createComment = {
> def e = Entry.get( this.params["entryId"] )
>
> def c = new Comment()
> c.properties = this.params
> e.comments.add(c)
> e.save()
>
> redirect(action:this.show,params:[ "id":
> this.params["entryId"] ] )
> }
> }
>
> Note how there is only one action and it redirects to another action
> "show" which is a scaffolded action, the rest of the actions are
> scaffolded.
>
> At the moment only the server side actions are being scaffolded and
> you have to write the views by hand, but its a start...
>
> Phase 2 will be getting scaffolding of the views done and
> incorporating all of the stuff to do with constraints that was
> discussed.
>
> BUT before phase 2 can commence I have to start the Grails tag library
> as some aspects of the custom views will be dependant on this
> (validation, linking etc.)
>
> Cheers,
> Graeme

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FW: Scaffolding Phase 1 Complete

graemer
On 14/12/05, Dierk Koenig <[hidden email]> wrote:
> *hehe* very nice.
>
> two points, though:
> - running depends on Java 5 (so does compiling but that was already known)
> - when posting a comment I get

Yeh I realise this, its related to WebFlow I believe (thanks for the
congrats Steven! Reply to my e-mail though! :-)

>
>    [script] OGNL error attempt to set 'entryId' to value '2' for object
> 'Comment@1cbcf91':Comment.entryId
>    [script] ognl.NoSuchPropertyException: Comment.entryId

Oops should be silently ignoring these.. strange that it doesn't do it
for me. will fix

>
> I will send you the whole log to your personal address since it is too large
> for this listserver :-(
>
> Great work!
> Mittie
>
> P.S. it's time I write a webtest for the blog sample...
>
> ----
>
>
> > -----Original Message-----
> > From: [hidden email] [mailto:[hidden email]]On Behalf
> > Of Graeme Rocher
> > Sent: Dienstag, 13. Dezember 2005 18:34
> > To: [hidden email]
> > Subject: [grails-dev] Scaffolding Phase 1 Complete
> >
> >
> > Hi all,
> >
> > Basic scaffolding is now implemented in Grails. To see it in action
> > take a look at the blog sample up by doing
> >
> > grails init
> > grails run-app
> >
> > and going to http://localhost:8080/blog/app/entry/list
> >
> > A very basic weblog implemented in Grails. But the cool thing about it
> > is it demonstrates Grails non-templated approach to scaffolding. The
> > controller is essentially this:
> >
> > class EntryController {
> >       @Property boolean scaffold = true
> >
> >       @Property createComment = {
> >               def e = Entry.get( this.params["entryId"] )
> >
> >               def c = new Comment()
> >               c.properties = this.params
> >               e.comments.add(c)
> >               e.save()
> >
> >               redirect(action:this.show,params:[ "id":
> > this.params["entryId"] ] )
> >       }
> > }
> >
> > Note how there is only one action and it redirects to another action
> > "show" which is a scaffolded action, the rest of the actions are
> > scaffolded.
> >
> > At the moment only the server side actions are being scaffolded and
> > you have to write the views by hand, but its a start...
> >
> > Phase 2 will be getting scaffolding of the views done and
> > incorporating all of the stuff to do with constraints that was
> > discussed.
> >
> > BUT before phase 2 can commence I have to start the Grails tag library
> > as some aspects of the custom views will be dependant on this
> > (validation, linking etc.)
> >
> > Cheers,
> > Graeme
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FW: Scaffolding Phase 1 Complete

graemer
In reply to this post by Dierk König
On 14/12/05, Dierk Koenig <[hidden email]> wrote:
> *hehe* very nice.
>
> two points, though:
> - running depends on Java 5 (so does compiling but that was already known)
> - when posting a comment I get
>
>    [script] OGNL error attempt to set 'entryId' to value '2' for object
> 'Comment@1cbcf91':Comment.entryId
>    [script] ognl.NoSuchPropertyException: Comment.entryId

In fact I was going to migrate this code to use Spring's
ServletRequestBinder anyway.. so may as well do it

>
> I will send you the whole log to your personal address since it is too large
> for this listserver :-(
>
> Great work!
> Mittie
>
> P.S. it's time I write a webtest for the blog sample...
>
> ----
>
>
> > -----Original Message-----
> > From: [hidden email] [mailto:[hidden email]]On Behalf
> > Of Graeme Rocher
> > Sent: Dienstag, 13. Dezember 2005 18:34
> > To: [hidden email]
> > Subject: [grails-dev] Scaffolding Phase 1 Complete
> >
> >
> > Hi all,
> >
> > Basic scaffolding is now implemented in Grails. To see it in action
> > take a look at the blog sample up by doing
> >
> > grails init
> > grails run-app
> >
> > and going to http://localhost:8080/blog/app/entry/list
> >
> > A very basic weblog implemented in Grails. But the cool thing about it
> > is it demonstrates Grails non-templated approach to scaffolding. The
> > controller is essentially this:
> >
> > class EntryController {
> >       @Property boolean scaffold = true
> >
> >       @Property createComment = {
> >               def e = Entry.get( this.params["entryId"] )
> >
> >               def c = new Comment()
> >               c.properties = this.params
> >               e.comments.add(c)
> >               e.save()
> >
> >               redirect(action:this.show,params:[ "id":
> > this.params["entryId"] ] )
> >       }
> > }
> >
> > Note how there is only one action and it redirects to another action
> > "show" which is a scaffolded action, the rest of the actions are
> > scaffolded.
> >
> > At the moment only the server side actions are being scaffolded and
> > you have to write the views by hand, but its a start...
> >
> > Phase 2 will be getting scaffolding of the views done and
> > incorporating all of the stuff to do with constraints that was
> > discussed.
> >
> > BUT before phase 2 can commence I have to start the Grails tag library
> > as some aspects of the custom views will be dependant on this
> > (validation, linking etc.)
> >
> > Cheers,
> > Graeme
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FW: Scaffolding Phase 1 Complete

graemer
In reply to this post by Dierk König
On 14/12/05, Dierk Koenig <[hidden email]> wrote:
> *hehe* very nice.
>
> two points, though:
> - running depends on Java 5 (so does compiling but that was already known)
> - when posting a comment I get
>
>    [script] OGNL error attempt to set 'entryId' to value '2' for object
> 'Comment@1cbcf91':Comment.entryId
>    [script] ognl.NoSuchPropertyException: Comment.entryId

Actually this is normal.. probably I shouldn't be printing the stack
trace in this case.. what is happening is i'm using the request
parameter map to set properties on the domain class but it included an
additional property that didn't exist in said domain class hence the
error

because you have debug enabled it has printed the error out, but
really it is not an error.. I have changed it now to use the spring
binder instead though as this is a better approach

Cheers,
Graeme

>
> I will send you the whole log to your personal address since it is too large
> for this listserver :-(
>
> Great work!
> Mittie
>
> P.S. it's time I write a webtest for the blog sample...
>
> ----
>
>
> > -----Original Message-----
> > From: [hidden email] [mailto:[hidden email]]On Behalf
> > Of Graeme Rocher
> > Sent: Dienstag, 13. Dezember 2005 18:34
> > To: [hidden email]
> > Subject: [grails-dev] Scaffolding Phase 1 Complete
> >
> >
> > Hi all,
> >
> > Basic scaffolding is now implemented in Grails. To see it in action
> > take a look at the blog sample up by doing
> >
> > grails init
> > grails run-app
> >
> > and going to http://localhost:8080/blog/app/entry/list
> >
> > A very basic weblog implemented in Grails. But the cool thing about it
> > is it demonstrates Grails non-templated approach to scaffolding. The
> > controller is essentially this:
> >
> > class EntryController {
> >       @Property boolean scaffold = true
> >
> >       @Property createComment = {
> >               def e = Entry.get( this.params["entryId"] )
> >
> >               def c = new Comment()
> >               c.properties = this.params
> >               e.comments.add(c)
> >               e.save()
> >
> >               redirect(action:this.show,params:[ "id":
> > this.params["entryId"] ] )
> >       }
> > }
> >
> > Note how there is only one action and it redirects to another action
> > "show" which is a scaffolded action, the rest of the actions are
> > scaffolded.
> >
> > At the moment only the server side actions are being scaffolded and
> > you have to write the views by hand, but its a start...
> >
> > Phase 2 will be getting scaffolding of the views done and
> > incorporating all of the stuff to do with constraints that was
> > discussed.
> >
> > BUT before phase 2 can commence I have to start the Grails tag library
> > as some aspects of the custom views will be dependant on this
> > (validation, linking etc.)
> >
> > Cheers,
> > Graeme
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: FW: Scaffolding Phase 1 Complete

Dierk König
> because you have debug enabled it has printed the error out, but
> really it is not an error.. I have changed it now to use the spring
> binder instead though as this is a better approach

wow, that was a quick fix ;-)

cheers
Mittie
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FW: Scaffolding Phase 1 Complete

graemer
In reply to this post by Dierk König
On 14/12/05, Dierk Koenig <[hidden email]> wrote:
> *hehe* very nice.
>
> two points, though:
> - running depends on Java 5 (so does compiling but that was already known)

You were right, there were a few calls to Arrays.toString which is a
jdk 1.5 method.. this should be fixed now.. so at least you can run in
jdk 1.4 until we fix the WebFlow stuff

Graeme

> - when posting a comment I get
>
>    [script] OGNL error attempt to set 'entryId' to value '2' for object
> 'Comment@1cbcf91':Comment.entryId
>    [script] ognl.NoSuchPropertyException: Comment.entryId
>
> I will send you the whole log to your personal address since it is too large
> for this listserver :-(
>
> Great work!
> Mittie
>
> P.S. it's time I write a webtest for the blog sample...
>
> ----
>
>
> > -----Original Message-----
> > From: [hidden email] [mailto:[hidden email]]On Behalf
> > Of Graeme Rocher
> > Sent: Dienstag, 13. Dezember 2005 18:34
> > To: [hidden email]
> > Subject: [grails-dev] Scaffolding Phase 1 Complete
> >
> >
> > Hi all,
> >
> > Basic scaffolding is now implemented in Grails. To see it in action
> > take a look at the blog sample up by doing
> >
> > grails init
> > grails run-app
> >
> > and going to http://localhost:8080/blog/app/entry/list
> >
> > A very basic weblog implemented in Grails. But the cool thing about it
> > is it demonstrates Grails non-templated approach to scaffolding. The
> > controller is essentially this:
> >
> > class EntryController {
> >       @Property boolean scaffold = true
> >
> >       @Property createComment = {
> >               def e = Entry.get( this.params["entryId"] )
> >
> >               def c = new Comment()
> >               c.properties = this.params
> >               e.comments.add(c)
> >               e.save()
> >
> >               redirect(action:this.show,params:[ "id":
> > this.params["entryId"] ] )
> >       }
> > }
> >
> > Note how there is only one action and it redirects to another action
> > "show" which is a scaffolded action, the rest of the actions are
> > scaffolded.
> >
> > At the moment only the server side actions are being scaffolded and
> > you have to write the views by hand, but its a start...
> >
> > Phase 2 will be getting scaffolding of the views done and
> > incorporating all of the stuff to do with constraints that was
> > discussed.
> >
> > BUT before phase 2 can commence I have to start the Grails tag library
> > as some aspects of the custom views will be dependant on this
> > (validation, linking etc.)
> >
> > Cheers,
> > Graeme
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FW: Scaffolding Phase 1 Complete

Steven Devijver
In reply to this post by graemer
Hey Graeme,

What e-mail are you refering too? I responded to your question on
solving the 1.4 compilation problem.

Steven

On 12/14/05, Graeme Rocher <[hidden email]> wrote:

> On 14/12/05, Dierk Koenig <[hidden email]> wrote:
> > *hehe* very nice.
> >
> > two points, though:
> > - running depends on Java 5 (so does compiling but that was already known)
> > - when posting a comment I get
>
> Yeh I realise this, its related to WebFlow I believe (thanks for the
> congrats Steven! Reply to my e-mail though! :-)
>
> >
> >    [script] OGNL error attempt to set 'entryId' to value '2' for object
> > 'Comment@1cbcf91':Comment.entryId
> >    [script] ognl.NoSuchPropertyException: Comment.entryId
>
> Oops should be silently ignoring these.. strange that it doesn't do it
> for me. will fix
>
> >
> > I will send you the whole log to your personal address since it is too large
> > for this listserver :-(
> >
> > Great work!
> > Mittie
> >
> > P.S. it's time I write a webtest for the blog sample...
> >
> > ----
> >
> >
> > > -----Original Message-----
> > > From: [hidden email] [mailto:[hidden email]]On Behalf
> > > Of Graeme Rocher
> > > Sent: Dienstag, 13. Dezember 2005 18:34
> > > To: [hidden email]
> > > Subject: [grails-dev] Scaffolding Phase 1 Complete
> > >
> > >
> > > Hi all,
> > >
> > > Basic scaffolding is now implemented in Grails. To see it in action
> > > take a look at the blog sample up by doing
> > >
> > > grails init
> > > grails run-app
> > >
> > > and going to http://localhost:8080/blog/app/entry/list
> > >
> > > A very basic weblog implemented in Grails. But the cool thing about it
> > > is it demonstrates Grails non-templated approach to scaffolding. The
> > > controller is essentially this:
> > >
> > > class EntryController {
> > >       @Property boolean scaffold = true
> > >
> > >       @Property createComment = {
> > >               def e = Entry.get( this.params["entryId"] )
> > >
> > >               def c = new Comment()
> > >               c.properties = this.params
> > >               e.comments.add(c)
> > >               e.save()
> > >
> > >               redirect(action:this.show,params:[ "id":
> > > this.params["entryId"] ] )
> > >       }
> > > }
> > >
> > > Note how there is only one action and it redirects to another action
> > > "show" which is a scaffolded action, the rest of the actions are
> > > scaffolded.
> > >
> > > At the moment only the server side actions are being scaffolded and
> > > you have to write the views by hand, but its a start...
> > >
> > > Phase 2 will be getting scaffolding of the views done and
> > > incorporating all of the stuff to do with constraints that was
> > > discussed.
> > >
> > > BUT before phase 2 can commence I have to start the Grails tag library
> > > as some aspects of the custom views will be dependant on this
> > > (validation, linking etc.)
> > >
> > > Cheers,
> > > Graeme
> >
> >
>


--
"If you want to be a different fish, you gotta jump out of the school."
-- Captain Beefheart
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FW: Scaffolding Phase 1 Complete

graemer
On 02/01/06, Steven Devijver <[hidden email]> wrote:
> Hey Graeme,
>
> What e-mail are you refering too? I responded to your question on
> solving the 1.4 compilation problem.

Yeah that was ages ago.. I know you did.. Guillaume was just
responding on an old thread.

Graeme

>
> Steven
>
> On 12/14/05, Graeme Rocher <[hidden email]> wrote:
> > On 14/12/05, Dierk Koenig <[hidden email]> wrote:
> > > *hehe* very nice.
> > >
> > > two points, though:
> > > - running depends on Java 5 (so does compiling but that was already known)
> > > - when posting a comment I get
> >
> > Yeh I realise this, its related to WebFlow I believe (thanks for the
> > congrats Steven! Reply to my e-mail though! :-)
> >
> > >
> > >    [script] OGNL error attempt to set 'entryId' to value '2' for object
> > > 'Comment@1cbcf91':Comment.entryId
> > >    [script] ognl.NoSuchPropertyException: Comment.entryId
> >
> > Oops should be silently ignoring these.. strange that it doesn't do it
> > for me. will fix
> >
> > >
> > > I will send you the whole log to your personal address since it is too large
> > > for this listserver :-(
> > >
> > > Great work!
> > > Mittie
> > >
> > > P.S. it's time I write a webtest for the blog sample...
> > >
> > > ----
> > >
> > >
> > > > -----Original Message-----
> > > > From: [hidden email] [mailto:[hidden email]]On Behalf
> > > > Of Graeme Rocher
> > > > Sent: Dienstag, 13. Dezember 2005 18:34
> > > > To: [hidden email]
> > > > Subject: [grails-dev] Scaffolding Phase 1 Complete
> > > >
> > > >
> > > > Hi all,
> > > >
> > > > Basic scaffolding is now implemented in Grails. To see it in action
> > > > take a look at the blog sample up by doing
> > > >
> > > > grails init
> > > > grails run-app
> > > >
> > > > and going to http://localhost:8080/blog/app/entry/list
> > > >
> > > > A very basic weblog implemented in Grails. But the cool thing about it
> > > > is it demonstrates Grails non-templated approach to scaffolding. The
> > > > controller is essentially this:
> > > >
> > > > class EntryController {
> > > >       @Property boolean scaffold = true
> > > >
> > > >       @Property createComment = {
> > > >               def e = Entry.get( this.params["entryId"] )
> > > >
> > > >               def c = new Comment()
> > > >               c.properties = this.params
> > > >               e.comments.add(c)
> > > >               e.save()
> > > >
> > > >               redirect(action:this.show,params:[ "id":
> > > > this.params["entryId"] ] )
> > > >       }
> > > > }
> > > >
> > > > Note how there is only one action and it redirects to another action
> > > > "show" which is a scaffolded action, the rest of the actions are
> > > > scaffolded.
> > > >
> > > > At the moment only the server side actions are being scaffolded and
> > > > you have to write the views by hand, but its a start...
> > > >
> > > > Phase 2 will be getting scaffolding of the views done and
> > > > incorporating all of the stuff to do with constraints that was
> > > > discussed.
> > > >
> > > > BUT before phase 2 can commence I have to start the Grails tag library
> > > > as some aspects of the custom views will be dependant on this
> > > > (validation, linking etc.)
> > > >
> > > > Cheers,
> > > > Graeme
> > >
> > >
> >
>
>
> --
> "If you want to be a different fish, you gotta jump out of the school."
> -- Captain Beefheart
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

testing different controllers with WebTest

Dierk König
Hi and a Happy New Year to everybody.

Some time ago we talked about having different controllers for
e.g. REST, XML-RPC, or SOAP services.

I'm happy to let you know that such controllers can be tested with
the latest version of Canoo WebTest.

see
http://webtest.canoo.com/webtest/manual/invoke.html
details with method='POST'

cheers
Mittie
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: testing different controllers with WebTest

graemer
Happy new year dierk, looks great btw.. I know you did some work
incorporating web test into the books sample app, but it would be
interesting to see how that could be incorporated into regular grails
unit tests or possibly by moving your WebTest.groovy class into the
core so it could be extended by anyone hence improving grails is
unit/functional testing support

What do you think?

Graeme


On 02/01/06, Dierk Koenig <[hidden email]> wrote:

> Hi and a Happy New Year to everybody.
>
> Some time ago we talked about having different controllers for
> e.g. REST, XML-RPC, or SOAP services.
>
> I'm happy to let you know that such controllers can be tested with
> the latest version of Canoo WebTest.
>
> see
> http://webtest.canoo.com/webtest/manual/invoke.html
> details with method='POST'
>
> cheers
> Mittie
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: testing different controllers with WebTest

Dierk König
> looks great btw..

Thanks ;-)

> I know you did some work
> incorporating web test into the books sample app, but it would be
> interesting to see how that could be incorporated into regular grails
> unit tests or possibly by moving your WebTest.groovy class into the
> core so it could be extended by anyone hence improving grails is
> unit/functional testing support
>
> What do you think?

Yes, it would be very convenient to have this functionality
available for every grails-app.
Using WebTest for Grails will always need an extra
download/installation because of its size, but that can be
automated easily.
WebTest.groovy should go either to Grails or to WebTest.
ATM there are not a lot of Grails-specifics in it (only
grails_home if I remember correctly). That would call for
putting it into the WebTest distro.
We could also scaffold a WebTest structure for grails-apps.

cheers
Mittie

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

a minor suggestion regarding template naming

Dierk König
Hi,

I find names like
 web2.3.xml.template
a bit unfortunate. I better like
 web2.3.template.xml
 bla.template.html
 blubs.template.sql
and such as it enables me to open it
with my according editor.

cheers
Mittie
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: a minor suggestion regarding template naming

graemer
Good idea Dierk.. thanks for the suggestion

Graeme

On 04/01/06, Dierk Koenig <[hidden email]> wrote:

> Hi,
>
> I find names like
>  web2.3.xml.template
> a bit unfortunate. I better like
>  web2.3.template.xml
>  bla.template.html
>  blubs.template.sql
> and such as it enables me to open it
> with my according editor.
>
> cheers
> Mittie
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

books sample webtest

Dierk König
Hi,

I tried to update the tests (they are pretty outdated) and came across this
behaviour: I tried to use Browser back from the details page, which asked
for re-POSTing, which I cancelled. After that the sample app could not be
used with
 grails run-app
any longer. Even after restart, connecting to localhost:8080/books/books
produced the stacktrace below.

cheers
Mittie

   [script] javax.servlet.jsp.JspException: An error occurred while
evaluating custom action attribute "value" with valu
e "${exception.className}": Unable to find a value for "className" in object
of class "org.springframework.webflow.execu
tion.NoSuchFlowExecutionException" using operator "." (null)
   [script]     at
org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:109)
   [script]     at
org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:129)
   [script]     at
org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager.evaluate
(ExpressionEvaluatorManag
er.java:75)
   [script]     at
org.apache.taglibs.standard.tag.el.core.ExpressionUtil.evalNotNull(Expressio
nUtil.java:48)
   [script]     at
org.apache.taglibs.standard.tag.el.core.OutTag.evaluateExpressions(OutTag.ja
va:99)
   [script]     at
org.apache.taglibs.standard.tag.el.core.OutTag.doStartTag(OutTag.java:57)
   [script]     at
org.apache.jsp.WEB_002dINF.jsp.error_jsp._jspx_meth_c_out_2(error_jsp.java:1
77)
   [script]     at
org.apache.jsp.WEB_002dINF.jsp.error_jsp._jspService(error_jsp.java:100)
   [script]     at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
   [script]     at
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   [script]     at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
24)
   [script]     at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
   [script]     at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
   [script]     at
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   [script]     at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
   [script]     at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
er.java:473)
   [script]     at
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:280)
   [script]     at
org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171)
   [script]     at
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutput
Model(InternalResourceVie
w.java:97)
   [script]     at
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:2
50)
   [script]     at
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.j
ava:928)
   [script]     at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServl
et.java:705)
   [script]     at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServle
t.java:625)
   [script]     at
org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkSer
vlet.java:386)
   [script]     at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java
:346)
   [script]     at
javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
   [script]     at
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   [script]     at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
   [script]     at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebAppl
icationHandler.java:830)
   [script]     at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterI
nternal(OpenSessionInView
Filter.java:172)
   [script]     at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF
ilter.java:76)
   [script]     at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebAppl
icationHandler.java:821)
   [script]     at
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java
:119)
   [script]     at
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:
55)
   [script]     at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebAppl
icationHandler.java:821)
   [script]     at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
er.java:471)
   [script]     at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
   [script]     at
org.mortbay.http.HttpContext.handle(HttpContext.java:1565)
   [script]     at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
.java:635)
   [script]     at
org.mortbay.http.HttpContext.handle(HttpContext.java:1517)
   [script]     at org.mortbay.http.HttpServer.service(HttpServer.java:954)
   [script]     at
org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
   [script]     at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:983)
   [script]     at
org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
   [script]     at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
   [script]     at
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
   [script]     at
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: books sample webtest

graemer
Ah right.. thanks for the error report, this is because you can't
press back in a webflow (it gives you that flow execution state
error)... and I recently added code that wraps a
GroovyRuntimeException and displays lines numbers, a code snippets,
error diagnostics etc in the browser...

but it is obviously not taking into account web flows.. I will look at this

Thanks
Graeme

On 08/01/06, Dierk Koenig <[hidden email]> wrote:

> Hi,
>
> I tried to update the tests (they are pretty outdated) and came across this
> behaviour: I tried to use Browser back from the details page, which asked
> for re-POSTing, which I cancelled. After that the sample app could not be
> used with
>  grails run-app
> any longer. Even after restart, connecting to localhost:8080/books/books
> produced the stacktrace below.
>
> cheers
> Mittie
>
>    [script] javax.servlet.jsp.JspException: An error occurred while
> evaluating custom action attribute "value" with valu
> e "${exception.className}": Unable to find a value for "className" in object
> of class "org.springframework.webflow.execu
> tion.NoSuchFlowExecutionException" using operator "." (null)
>    [script]     at
> org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:109)
>    [script]     at
> org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:129)
>    [script]     at
> org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager.evaluate
> (ExpressionEvaluatorManag
> er.java:75)
>    [script]     at
> org.apache.taglibs.standard.tag.el.core.ExpressionUtil.evalNotNull(Expressio
> nUtil.java:48)
>    [script]     at
> org.apache.taglibs.standard.tag.el.core.OutTag.evaluateExpressions(OutTag.ja
> va:99)
>    [script]     at
> org.apache.taglibs.standard.tag.el.core.OutTag.doStartTag(OutTag.java:57)
>    [script]     at
> org.apache.jsp.WEB_002dINF.jsp.error_jsp._jspx_meth_c_out_2(error_jsp.java:1
> 77)
>    [script]     at
> org.apache.jsp.WEB_002dINF.jsp.error_jsp._jspService(error_jsp.java:100)
>    [script]     at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
>    [script]     at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>    [script]     at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
> 24)
>    [script]     at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
>    [script]     at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
>    [script]     at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>    [script]     at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
>    [script]     at
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
> er.java:473)
>    [script]     at
> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:280)
>    [script]     at
> org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171)
>    [script]     at
> org.springframework.web.servlet.view.InternalResourceView.renderMergedOutput
> Model(InternalResourceVie
> w.java:97)
>    [script]     at
> org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:2
> 50)
>    [script]     at
> org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.j
> ava:928)
>    [script]     at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServl
> et.java:705)
>    [script]     at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServle
> t.java:625)
>    [script]     at
> org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkSer
> vlet.java:386)
>    [script]     at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java
> :346)
>    [script]     at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
>    [script]     at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>    [script]     at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
>    [script]     at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebAppl
> icationHandler.java:830)
>    [script]     at
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterI
> nternal(OpenSessionInView
> Filter.java:172)
>    [script]     at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF
> ilter.java:76)
>    [script]     at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebAppl
> icationHandler.java:821)
>    [script]     at
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java
> :119)
>    [script]     at
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:
> 55)
>    [script]     at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebAppl
> icationHandler.java:821)
>    [script]     at
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
> er.java:471)
>    [script]     at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>    [script]     at
> org.mortbay.http.HttpContext.handle(HttpContext.java:1565)
>    [script]     at
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
> .java:635)
>    [script]     at
> org.mortbay.http.HttpContext.handle(HttpContext.java:1517)
>    [script]     at org.mortbay.http.HttpServer.service(HttpServer.java:954)
>    [script]     at
> org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>    [script]     at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:983)
>    [script]     at
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>    [script]     at
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>    [script]     at
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>    [script]     at
> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: books sample webtest

Dierk König
another finding from the tests is that on the books
details page
 bookAuthor
and
 bookTitle
appear at the wrong places
(see below).

cheers
Mittie
----
<h1>Book detail</h1>
<form method="POST">
   <fieldset>
         <input type="hidden" name="id" value="1" id="bookId"/>
      <label>title</label>
         <input type="text" name="title" value="The Da Vinci Code"
id="bookAuthor">
      <br>
      <label>author</label>
         <span id="bookTitle">Dan Brown</span>
         <input type="submit" name="_eventId_select" value="..."
id="select">
----

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: books sample webtest

graemer
Right thats an error in the sample itself.. will fix at a later date

Graeme

On 09/01/06, Dierk Koenig <[hidden email]> wrote:

> another finding from the tests is that on the books
> details page
>  bookAuthor
> and
>  bookTitle
> appear at the wrong places
> (see below).
>
> cheers
> Mittie
> ----
> <h1>Book detail</h1>
> <form method="POST">
>    <fieldset>
>          <input type="hidden" name="id" value="1" id="bookId"/>
>       <label>title</label>
>          <input type="text" name="title" value="The Da Vinci Code"
> id="bookAuthor">
>       <br>
>       <label>author</label>
>          <span id="bookTitle">Dan Brown</span>
>          <input type="submit" name="_eventId_select" value="..."
> id="select">
> ----
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: books sample webtest

Dierk König
In reply to this post by Dierk König
another finding from the tests is that
when adding a new book with a new author that
new author is not picked up and neither displayed
in the overview nor in the details.

cheers
Mittie
Loading...