RE: Hollow state

From: Schneider, Eric (eschneide..iaa-cref.org)
Date: Wed Feb 19 2003 - 13:09:33 EST

  • Next message: David Solis: "RE: Hollow state"

    Hey David,
     
    So I'm guessing the dataContext object is a persistent property on your
    page. I don't believe anything has changed with persistent properties in
    tapestry. The following should work:
     
    private DataContext dataContext;
     
    public DataContext getDataContext() {
        return dataContext;
    }
     
    public void setDataContext(DataContext ctxt) {
        dataContext = ctxt;
        fireObservedChange("dataContext ", dataContext);
    }
     
    public void detach() {
        dataContext = null;
     
        super.detach();
    }
     
    Are you doing something different?
     
    Cheers,
    Eric

    -----Original Message-----
    From: David Solis [mailto:dsoli..egosoft.com.mx]
    Sent: Wednesday, February 19, 2003 1:01 PM
    To: cayenne-use..bjectstyle.org
    Subject: RE: Hollow state

    I looked the cayenne source code and I found CayenneDataObject already
    checks the hollow state and refetch the object.
    The execption is in the line:
     
                dataContext.refetchObject(objectId);

    It seems to me dataContext is null.
     
    By the way Tapestry changed the way to persist values. Maybe is a question
    to the Tapestry list.
     
    Any clues?
     
    David

    -----Original Message-----
    From: David Solis [mailto:dsoli..egosoft.com.mx]
    Sent: Wednesday, February 19, 2003 11:30 AM
    To: cayenne-use..bjectstyle.org
    Subject: Hollow state

    I'm developing an application with Cayenne 1.0a5 and Tapestry 2.4 alpha 3.
    I'm getting exceptions like this:
     
    java.lang.NullPointerException
    *
    org.objectstyle.cayenne.CayenneDataObject.readProperty(CayenneDataObject.jav
    a:183)

    *
    com.ixe.isis.ixenetadmin.model._CustomerService.getService(_CustomerService.
    java:134)

    *
    com.ixe.isis.ixenetadmin.model.CustomerService.getDescription(CustomerServic
    e.java:18)

    *
    com.ixe.isis.ixenetadmin.pages.customer.ServiceSignatureGroups.getTitle(Serv
    iceSignatureGroups.java:64)

    * java.lang.reflect.Method.invoke(Native Method)

    * ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java)

    * ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java)

    *
    ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java)

    * ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java)

    * ognl.OgnlRuntime.getProperty(OgnlRuntime.java)

    * ognl.ASTProperty.getValueBody(ASTProperty.java)

    * ognl.SimpleNode.getValue(SimpleNode.java)

    * ognl.Ognl.getValue(Ognl.java)

    * ognl.Ognl.getValue(Ognl.java)

    *
    net.sf.tapestry.binding.ExpressionBinding.resolveProperty(ExpressionBinding.
    java:232)

    *
    net.sf.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:2
    25)

    *
    net.sf.tapestry.binding.AbstractBinding.getString(AbstractBinding.java:141)
     
    The real problem is some cayenne EOs are in hollow state and refetch is not
    automatic.
     
    ixenetadmin/ServiceSignatureGroups/customer {[]<oid:
    com.ixe.isis.ixenetadmin.model.Customer: <RIM_NO: 34177>; state: hollow>}

    ixenetadmin/ServiceSignatureGroups/service {[]<oid:
    com.ixe.isis.ixenetadmin.model.CustomerService: <ID_CLIENTE_SERVICIO:
    4e5817c2-c0a8-141e-0069-cc0e0373ff20>; state: hollow>}
     
    I can "patch" the code to refetch every EO in hollow state, but is this the
    "normal" behavior?
     
    Note: these objects are persistant properties to the page.
     
    I developed a prototype using Tapestry 2.3 and didn't experience something
    similar.
     
    Any ideas?
     
    Regards
     
    David
     
     

    **********************************************************************
    This message, including any attachments, contains confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, please contact sender immediately by reply e-mail and destroy all copies. You are hereby notified that any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited.
    TIAA-CREF
    **********************************************************************



    This archive was generated by hypermail 2.0.0 : Wed Feb 19 2003 - 13:12:05 EST