> On Fri, 03 Jul 2009 12:54:19 +0000, Ken T. wrote:
>
>> On Fri, 03 Jul 2009 08:21:29 -0400, Jeff Brown wrote:
>>
>>> On Fri, Jul 3, 2009 at 8:08 AM, Ken T.<
ktectropy@...> wrote:
>>>> I've got an action in a controller that looks like this:
>>>>
>>>> def create = {
>>>> def instance = new MyClass()
>>>> instance.properties = params
>>>> def subject = SecurityUtils.getSubject() instance.author =
>>>> User.findByUsername(subject.getPrinciple()) return
>>>> ['instance':instance]
>>>> }
>>>>
>>>> The class, MyClass, is a domain class. Nothing particularly special
>>>> here. It has a few constraints and four fields.
>>>>
>>>> The problem I'm having is that right after assignment the variable
>>>> instance is null. Shouldn't new always returns something here?
>>>>
>>>> Thanks.
>>>>
>>>>
>>> Something is not right there. new can't return null.
>>>
>>> Are you sure it is null or are you basing that on the result of calling
>>> toString() and seeing the word "null" in the result (like "MyClass :
>>> null")?
>>
>> I'm calling toString.. you're right.
>>
>> But I'm still confused about what is going on here then.
>>
>> This is another action on the controller. On the line where properties
>> is assigned, I'm getting a null pointer exception. What would cause
>> this?
>>
>> def save = {
>> def storyInstance = new Story()
>> storyInstance.properties = params
>> if(!storyInstance.hasErrors() && storyInstance.save()) {
>> flash.message = "Story ${storyInstance.id} created"
>> redirect(action:show,id:storyInstance.id)
>> }
>> else {
>> render(view:'create',model:[storyInstance:storyInstance])
>> }
>> }
>
>
> This is the stack trace:
>
> java.lang.NullPointerException
> at grails.test.MockUtils$_addValidateMethod_closure57.doCall
> (MockUtils.groovy:789)
> at com.squeakydolphin.talechest.Story.setProperty(Story.groovy)
> at com.squeakydolphin.talechest.StoryController$_closure8.doCall
> (StoryController.groovy:94)
> at com.squeakydolphin.talechest.StoryController$_closure8.doCall
> (StoryController.groovy)
> at com.squeakydolphin.talechest.StoryControllerTests.testSaveStory
> (StoryControllerTests.groovy:61)
> at _GrailsTest_groovy$_run_closure4.doCall(_GrailsTest_groovy:202)
> at _GrailsTest_groovy$_run_closure2.doCall(_GrailsTest_groovy:146)
> at _GrailsTest_groovy$_run_closure1_closure19.doCall
> (_GrailsTest_groovy:112)
> at _GrailsTest_groovy$_run_closure1.doCall(_GrailsTest_groovy:95)
> at TestApp$_run_closure1.doCall(TestApp.groovy:66)
> at gant.Gant$_dispatch_closure4.doCall(Gant.groovy:324)
> at gant.Gant$_dispatch_closure6.doCall(Gant.groovy:334)
> at gant.Gant$_dispatch_closure6.doCall(Gant.groovy)
> at gant.Gant.withBuildListeners(Gant.groovy:344)
> at gant.Gant.this$2$withBuildListeners(Gant.groovy)
> at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)
> at gant.Gant.dispatch(Gant.groovy:334)
> at gant.Gant.this$2$dispatch(Gant.groovy)
> at gant.Gant.invokeMethod(Gant.groovy)
> at gant.Gant.processTargets(Gant.groovy:495)
> at gant.Gant.processTargets(Gant.groovy:480)
>
> I have no idea what is causing this.
>
> --
> Ken T. <
ktectropy@...>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>
http://xircles.codehaus.org/manage_email>
>
>