java.lang.BigDecimal rears its ugly head

From: Kieran Kelleher (kieran_list..ac.com)
Date: Thu Feb 05 2009 - 10:52:54 EST

  • Next message: Mike Schrag: "Re: java.lang.BigDecimal rears its ugly head"

    Weird problem this morning.

    I have latest nightly wolips 3.4.5667, and have it since last Friday I
    think. This is still the latest on the update site as of this morning.

    What I did. I updated to latest Wonder (8903), opened my workspace,
    eclipse did its rebuilding stuff.

    I launched my app, and I get this on first fetch:

    java.lang.IllegalStateException: adaptorValueType: unable to load
    class named 'java.lang.BigDecimal' for attribute
    defaultFixedAmountCommission on entity CTSalesperson
       at
    com.webobjects.eoaccess.EOAttribute.adaptorValueType(EOAttribute.java:
    2104)
       at
    com.webobjects.jdbcadaptor.JDBCColumn.setAttribute(JDBCColumn.java:71)
       at com.webobjects.jdbcadaptor.JDBCColumn.<init>(JDBCColumn.java:55)
       at
    com
    .webobjects
    .jdbcadaptor.JDBCChannel.setAttributesToFetch(JDBCChannel.java:458)
       at
    com
    .webobjects.jdbcadaptor.JDBCChannel.selectAttributes(JDBCChannel.java:
    187)
       at
    com
    .webobjects
    .eoaccess
    .EODatabaseChannel
    ._selectWithFetchSpecificationEditingContext(EODatabaseChannel.java:878)
       at
    com
    .webobjects
    .eoaccess
    .EODatabaseChannel
    .selectObjectsWithFetchSpecification(EODatabaseChannel.java:215)
       at
    com
    .webobjects
    .eoaccess
    .EODatabaseContext
    ._objectsWithFetchSpecificationEditingContext(EODatabaseContext.java:
    3205)
       at
    com
    .webobjects
    .eoaccess
    .EODatabaseContext
    .objectsWithFetchSpecification(EODatabaseContext.java:3346)
       at
    com
    .webobjects
    .eocontrol
    .EOObjectStoreCoordinator
    .objectsWithFetchSpecification(EOObjectStoreCoordinator.java:539)
       at
    com
    .webobjects
    .eocontrol
    .EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:
    4114)
       at er.extensions.eof.ERXEC.objectsWithFetchSpecification(ERXEC.java:
    1114)

    The attribute indeed was displaying java.lang.BigDecimal on the
    attribute. However the attribute is based on a prototype in my custom
    prototypes. The prototype was correctly configured java.math.BigDecimal.

    Then as I check thru my model I see that anywhere that prototype
    exists I see "Custom" Data Type. I have no idea how that happened and
    I did not change them all to Custom!

    Changing the Data Type to Big Decimal fixes the attribute:

    In any case I have no idea how my eomodel attributes changed to
    java.lang.BigDecimal or why they don't reflect the prototype. This
    eomodel is years old and just today this showed up.

    The only fix seems to be to find every usage of that particular
    prototype and change the Data Type from Custom to Big Decimal :-(



    This archive was generated by hypermail 2.0.0 : Thu Feb 05 2009 - 10:54:17 EST