You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by Dan Diephouse <di...@compassarts.org> on 2002/02/06 08:35:45 UTC

IDgenerator gives NPE

I am using the latest cvs of Torque with Fulcrum and T3.  With all my 
business objects, my key generator is turning up to be null at line 763, 
so there is no id broker for them to use:

        DatabaseMap dbMap = Torque.getDatabaseMap( criteria.getDbName() );
        TableMap tableMap = dbMap.getTable(tableName);
        Object keyInfo = tableMap.getPrimaryKeyMethodInfo();
        IdGenerator keyGen = tableMap.getIdGenerator();
        ^^^^^ -> null

The result is a NPE a few lines down.  I can't figure out why this is! 
 I've been through the debugger and all my TableMap's primaryKeyMethod 
variables are "idbroker."  But, when the tablemap looks up the 
idgenerator in the database map, its turns out to be null.

Stack Trace:

java.lang.reflect.InvocationTargetException: java.lang.Exception: 
IdGenerator for table 'PROJECT_TASK' is null
        at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:779)
        at 
org.compassarts.basecamp.om.BaseProjectTaskPeer.doInsert(BaseProjectTaskPeer.java:178)
        at 
org.compassarts.basecamp.om.BaseProjectTaskPeer.doInsert(BaseProjectTaskPeer.java:452)
        at 
org.compassarts.basecamp.om.BaseProjectTask.save(BaseProjectTask.java:781)
        at 
org.compassarts.basecamp.om.BaseProjectTask.save(BaseProjectTask.java:746)
        at 
org.compassarts.basecamp.om.BaseProjectTask.save(BaseProjectTask.java:729)


Any ideas?  I'm guessing its probably a stupid error of some sort, but I 
can't put any new data into my databases until its fixed!

Here's parts of my schema and Fulcrum.properties.

Thanks,

- Dan Diephouse

services.DatabaseService.database.default=default
services.DatabaseService.database.default.driver=org.gjt.mm.mysql.Driver
services.DatabaseService.database.default.url=jdbc:mysql://127.0.0.1:3306/db
services.DatabaseService.database.default.username=user
services.DatabaseService.database.default.password=pass
services.DatabaseService.database.default.maxConnections=3
services.DatabaseService.database.default.expiryTime=3600000
services.DatabaseService.database.connectionWaitTimeout=10000
services.DatabaseService.database.logInterval=0
services.DatabaseService.database.adapter=DBMM
services.DatabaseService.database.adapter.DBMM=org.gjt.mm.mysql.Driver

-------------------------

<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
<!DOCTYPE database SYSTEM 
"file:/home/dan/WDev/tdk/webapps/basecamp/WEB-INF/torque/database.dtd">

<database name="default" defaultIdMethod="idbroker">
   <table name="PROJECT_PHASE">
      <column name="PROJECT_PHASE_ID" required="true" primaryKey="true" 
type="INTEGER"/>
      <column name="NAME" size="255" type="VARCHAR"/>
      <column name="JOB_ID" type="INTEGER"/>
      <column name="START_DATE" type="DATE"/>
      <column name="END_DATE" type="DATE"/>

      <foreign-key foreignTable="JOB">
          <reference local="JOB_ID" foreign="JOB_ID"/>
      </foreign-key>
    </table>
   
    <table name="PROJECT_TASK">
      <column name="PROJECT_TASK_ID" required="true" primaryKey="true" 
type="INTEGER"/>
      <column name="NAME" size="255" type="VARCHAR"/>
      <column name="DESCR" type="LONGVARCHAR"/>
      <column name="PROJECT_PHASE_ID" type="INTEGER"/>
      <column name="START_DATE" type="DATE"/>
      <column name="END_DATE" type="DATE"/>
      <column name="TASK_STATUS_ID" type="INTEGER"/>
      <foreign-key foreignTable="TASK_STATUS">
          <reference local="TASK_STATUS_ID" foreign="TASK_STATUS_ID"/>
      </foreign-key>
      <foreign-key foreignTable="PROJECT_PHASE">
          <reference local="PROJECT_PHASE_ID" foreign="PROJECT_PHASE_ID"/>
      </foreign-key>
    </table>
 
</database>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: IDgenerator gives NPE

Posted by Dan Diephouse <di...@eastnode.com>.
Dan Diephouse wrote:

> I am using the latest cvs of Torque with Fulcrum and T3.  With all my 
> business objects, my key generator is turning up to be null at line 763, 
> so there is no id broker for them to use:


what the heck?  how'd this get here - it got rejected, so I had to send 
another one....

- Dan





--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>