Hi Dougie,

sorry I don't have a clue what's going wrong.
Could you post a test case?

regards,
Armin

----- Original Message -----
From: "���զ�" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Monday, March 31, 2003 5:33 AM
Subject: DMapImpl how to implement ManageableCollection ?


Hi Armin:
    I try to implement ManageableCollection via DMapImpl,but it can't
work.
I don't know what's worng with it. I design a PersonMap class that
extends DMapImpl and implement ManageableCollection, as like:
package com.dsc.nana.domain.organization;

import org.apache.ojb.odmg.collections.DMapImpl;
import org.apache.ojb.broker.ManageableCollection;
import java.util.Iterator;
import com.dsc.nana.persistence.PersistentObject;

public class PersonMap extends DMapImpl implements ManageableCollection{

    public PersonMap() {
        super();
    }

    public void ojbAdd(Object anObject)
    {
        super.getEntries().add(anObject);
    }

    public void ojbAddAll(ManageableCollection otherCollection)
    {
        super.putAll((PersonMap) otherCollection);
    }

    public Iterator ojbIterator()
    {
        return super.values().iterator();
    }
}

And I declare the PersonMap class in repository as :

   <class-descriptor
      class="com.dsc.nana.domain.organization.PersonMap"
      table="OJB_DMAP"
   >
      <field-descriptor
         name="id"
         column="ID"
         jdbc-type="INTEGER"
         primarykey="true"
         autoincrement="true"
      />
      <field-descriptor
         name="size"
         column="SIZE_"
         jdbc-type="INTEGER"
      />
      <collection-descriptor
         name="entries"
         element-class-ref="org.apache.ojb.odmg.collections.DMapEntry"

collection-class="org.apache.ojb.broker.util.collections.ManageableHashS
et"
      >
         <inverse-foreignkey field-ref="dmapId"/>
      </collection-descriptor>
   </class-descriptor>

Then I get error messages as :

11:21:57,906 INFO  [STDOUT] [org.apache.ojb.broker.ta.NamingLocator]
INFO:
11:21:57,921 INFO  [STDOUT] Init NamingLocator
11:21:57,921 INFO  [STDOUT] [org.apache.ojb.broker.ta.NamingLocator]
INFO:
11:21:57,937 INFO  [STDOUT] Properties for creating the initial context:
null
11:21:58,453 INFO  [STDOUT] [org.apache.ojb.odmg.TransactionImpl] ERROR:
11:21:58,453 INFO  [STDOUT] Locking obj
[EMAIL PROTECTED] with lock mode 1 failed
11:21:58,484 INFO  [STDOUT] com.dsc.nana.domain.organization.Person
11:21:58,484 ERROR [STDERR] java.lang.ClassCastException:
com.dsc.nana.domain.organization.Person
11:21:58,500 ERROR [STDERR]     at
java.util.AbstractMap$4.next(AbstractMap.java:435)
11:21:58,515 ERROR [STDERR]     at
org.apache.ojb.odmg.TransactionImpl.lockCollections(Unknown Source)
11:21:58,531 ERROR [STDERR]     at
org.apache.ojb.odmg.TransactionImpl.register(Unknown Source)
11:21:58,546 ERROR [STDERR]     at
org.apache.ojb.odmg.TransactionImpl.lock(Unknown Source)
11:21:58,578 ERROR [STDERR]     at
org.apache.ojb.odmg.oql.OQLQueryImpl.performLockingIfRequired(Unknown
Source)
11:21:58,593 ERROR [STDERR]     at
org.apache.ojb.odmg.oql.OQLQueryImpl.execute(Unknown Source)
11:21:58,609 ERROR [STDERR]     at
com.dsc.nana.persistence.JakartaOJBHelper.findByPrimaryKey(JakartaOJBHel
per.java:102)
11:21:58,625 ERROR [STDERR]     at
com.dsc.nana.persistence.PersistentObjectHelper.findByPrimaryKey(Persist
entObjectHelper.java:67)
11:21:58,640 ERROR [STDERR]     at
com.dsc.nana.control.TestObjectBean.createPer

Could you help me ?
Thanks advance.

Dogie Tsai



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to