Hi!

The persistence should occur automatically when auto-update=true, even using
Vectors.

Are you working with OJB Api, ODBC or JDO?

The samples I've shown uses OJB Api. And of course, I use transactions...
(or I store A and all instances of B, or don't store anything. This is a
must when working with large apps).

Maybe someone else can point you with more information... All that I can
tell you is that this work. When I started with OJB I've used the samples,
and they work. Maybe you have missing something in configuration.

About the RemovalAwareCollection, you should use only if you need the
instances of B being removed when you store A... Nothing about auto-update
inserting objects.

[]s

Edson Richter


----- Original Message ----- 
From: "James Nyika" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, July 09, 2003 11:03 AM
Subject: Re: 1:m-relation


Edson,
 see this is very interesting because i do not use any special
collection class. I use a simple
 vector. When i do the stuff you are describing below, my new B object
is not being created in
 the database, EVEN with my auto-update set to true. If i change
anything on the A object, the change
 is recognized and saved. However, if i add or remove any objects from
the collection of B objects, it is as through
 the change is not recognized. Should i start using the
RemovalAwareCollection in order to make sure that any additions
 or deletions to the vector ?

 Note: the difference between what i showed below and the examples that
come with OJB is that OJB examples always show the
 changes being made in the context of a broker transaction. I am not
sure if this matters, but the way i am writing my interface to the
 persistence broker, i would like to be able to read objects out of the
database, update them at will outside of broker transaction contexts,
then
 bring the same references back and save the altered objects back to
the database.

 any help you can provide would be helpful




James Nyika
Cambridge Technology Partners
The global eServices company of Novell, Inc.
http://www.novell.com

>>> [EMAIL PROTECTED] 7/9/2003 6:31:08 AM >>>
Yes, exactly what I do. But see, to B instances be stored in database,
you
must put auto-update='true' in your collection descriptor.
In real, I use a collection class RemovalAwareCollection (or a
specialized
RemovalAwareList that I've created) to auto-delete. So, if I

a.getCol().remove( 0 );
broker.store(a);

the item in 0 is deleted from database, as expected. This is a must for
my
app.


Best regards,

Edson Richter


----- Original Message ----- 
From: "James Nyika" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, July 08, 2003 4:46 PM
Subject: Re: 1:m-relation


Edson,

 Can i ask you to give an example of how you add more B objects the
the
collection  you described below
 do you do something like this :

  //get broker
  broker = brokerfactory.defaultInstance();

  //fetch an A object that has say 3 B objects in the collection.
 ...
 //create a new B object
  B newB = new B();

 //add to the collection
  A.getCol().add(newB);

 //persist the A
 broker.beginTransaction();
 broker.store(A);

 broker.commitTransaction();


 ?

James Nyika
Cambridge Technology Partners
The global eServices company of Novell, Inc.
http://www.novell.com

>>> [EMAIL PROTECTED] 7/8/2003 12:24:28 PM >>>
Hi!

I'm largelly using 1:N and M:N relationships in my project. I'll try
to
give
you a little tips:

1) Use your N parts as Collection. If you are using
PersistentFieldPropertyImpl, then you should have

public class A {
  private Collection myNpart;
  private Integer id;
  public void setId( Integer newId ) { id = newId; }
  public Integer getId( ) {return id;}
  public void setCol( Collection newCol ) { myNpart = newCol; }
  public Collection getCol( ) { return myNpart; }
}

public class B {
  private Integer id;
  private Integer idA;
  private A a;
  public void setId( Integer newId ) { id = newId; }
  public Integer getId( ) {return id;}
  public void setIdA( Integer newIdA ) { idA = newIdA; }
  public Integer getIdA( ) {return idA;}
  public void setA( A newA ) { a = newA; }
  public A getA( ) { return a; }
}

2) Your .xml should be similar to:

  <class-descriptor
      class="A"
      table="TB_A">
    <field-descriptor
        name="id"
        column="ID"
        jdbc-type="INTEGER"
        primarykey="true" />
    <collection-descriptor
        name="col"
        element-class-ref="B">
       <inverse-foreignkey
            field-ref="idA"/>
    </collection-descriptor>
  </class-descriptor>

  <class-descriptor
      class="B"
      table="TB_B">
    <field-descriptor
        name="id"
        column="ID"
        jdbc-type="INTEGER"
        primarykey="true" />
    <field-descriptor
        name="idA"
        column="ID_A"
        jdbc-type="INTEGER"
        primarykey="true" />
    <reference-descriptor
        name="a"
        class-ref="A">
      <foreignkey field-ref="idA"/>
    </reference-descriptor>
  </class-descriptor>


And this should work. You don't need to specify auto-retrieve, because
by
default it's true. Auto-update and auto-delete are false by default.
Some
people like to work with specialized collection classes. In
particular,
I
work always with RemovalAwareList (a collection that know how to
persists
deletes in the collection). To archieve this, your should be more
specific
in collection descriptor like this:

    <collection-descriptor
        name="col"

collection-class="org.apache.ojb.broker.util.collections.RemovalAwareList"
        element-class-ref="B">
       <inverse-foreignkey
            field-ref="idA"/>
    </collection-descriptor>

Of course, you could mixes the several other options that OJB offers
to
you,
like auto-increment, proxies and so on. In this case, I'll recomendly
you to
use cvs HEAD that has several fixes for these options over rc3.

Best regards,

Edson Richter


----- Original Message ----- 
From: "Christian Eugster" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, July 07, 2003 11:31 AM
Subject: 1:m-relation


i am working on a mysql-database and ojb rc3. i have an 1:m-relation
with
the following setting in the collection-desriptor of the parent
object:

auto-retrieve="true"

when i try to retrieve an parent-object i get the error-message as
follows:
(setting auto-retrieve to false there is no error). what am i doing
wrong?


java.lang.IllegalArgumentException
at
sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.
java:63)
at java.lang.reflect.Field.set(Field.java:519)
at
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Un
known Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(
Unknown Source)
at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j
ava:58)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39
)
at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34)
at
ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28)
at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58)
at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39)
at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67)
at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126)
at
ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99)
at
ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90)
at
ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197)
at
ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156)
at java.awt.Component.processKeyEvent(Component.java:5051)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2385)
at java.awt.Component.processEvent(Component.java:4902)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688
)
at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa
nager.java:593)
at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu
sManager.java:765)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu
sManager.java:698)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:559)
at java.awt.Component.dispatchEventImpl(Component.java:3468)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Window.dispatchEventImpl(Window.java:1585)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:197)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java

:150)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
rethrown as org.apache.ojb.broker.metadata.MetadataException: Error
setting
field:positions in object:ch.eugster.pos.db.Receipt
at
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Un
known Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(
Unknown Source)
at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j
ava:58)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39
)
at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34)
at
ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28)
at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58)
at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39)
at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67)
at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126)
at
ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99)
at
ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90)
at
ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197)
at
ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156)
at java.awt.Component.processKeyEvent(Component.java:5051)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2385)
at java.awt.Component.processEvent(Component.java:4902)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688
)
at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa
nager.java:593)
at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu
sManager.java:765)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu
sManager.java:698)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:559)
at java.awt.Component.dispatchEventImpl(Component.java:3468)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Window.dispatchEventImpl(Window.java:1585)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:197)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:150)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
Caused by: java.lang.IllegalArgumentException
at
sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.
java:63)
at java.lang.reflect.Field.set(Field.java:519)
. 46 more
java.lang.IllegalArgumentException
at
sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.
java:63)
at java.lang.reflect.Field.set(Field.java:519)
at
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Un
known Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(
Unknown Source)
at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j
ava:58)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39
)
at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34)
at
ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28)
at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58)
at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39)
at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67)
at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126)
at
ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99)
at
ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90)
at
ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197)
at
ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156)
at java.awt.Component.processKeyEvent(Component.java:5051)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2385)
at java.awt.Component.processEvent(Component.java:4902)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688
)
at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa
nager.java:593)
at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu
sManager.java:765)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu
sManager.java:698)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:559)
at java.awt.Component.dispatchEventImpl(Component.java:3468)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Window.dispatchEventImpl(Window.java:1585)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:197)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:150)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
rethrown as org.apache.ojb.broker.metadata.MetadataException: Error
setting
field:positions in object:ch.eugster.pos.db.Receipt
at
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Un
known Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(
Unknown Source)
at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j
ava:58)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39
)
at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34)
at
ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28)
at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58)
at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39)
at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67)
at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126)
at
ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99)
at
ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90)
at
ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197)
at
ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156)
at java.awt.Component.processKeyEvent(Component.java:5051)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2385)
at java.awt.Component.processEvent(Component.java:4902)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688
)
at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa
nager.java:593)
at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu
sManager.java:765)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu
sManager.java:698)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:559)
at java.awt.Component.dispatchEventImpl(Component.java:3468)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Window.dispatchEventImpl(Window.java:1585)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:197)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:150)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
Caused by: java.lang.IllegalArgumentException
at
sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.
java:63)
at java.lang.reflect.Field.set(Field.java:519)
. 46 more
java.util.NoSuchElementException: Could not obtain next object: Error
setting field:positions in object:ch.eugster.pos.db.Receipt
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow

n Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(
Unknown Source)
at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j
ava:58)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39
)
at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34)
at
ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28)
at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58)
at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39)
at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67)
at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126)
at
ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99)
at
ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90)
at
ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197)
at
ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156)
at java.awt.Component.processKeyEvent(Component.java:5051)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2385)
at java.awt.Component.processEvent(Component.java:4902)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688
)
at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa
nager.java:593)
at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu
sManager.java:765)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu
sManager.java:698)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:559)
at java.awt.Component.dispatchEventImpl(Component.java:3468)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Window.dispatchEventImpl(Window.java:1585)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:197)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:150)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
rethrown as org.apache.ojb.broker.PersistenceBrokerException: Could
not
obtain next object: Error setting field:positions in
object:ch.eugster.pos.db.Receipt
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(
Unknown Source)
at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j
ava:58)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50)
at
ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39
)
at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34)
at
ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28)
at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58)
at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39)
at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67)
at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126)
at
ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99)
at
ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90)
at
ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197)
at
ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156)
at java.awt.Component.processKeyEvent(Component.java:5051)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2385)
at java.awt.Component.processEvent(Component.java:4902)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688
)
at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa
nager.java:593)
at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu
sManager.java:765)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu
sManager.java:698)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:559)
at java.awt.Component.dispatchEventImpl(Component.java:3468)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Window.dispatchEventImpl(Window.java:1585)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:197)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:150)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
Caused by: java.util.NoSuchElementException: Could not obtain next
object:
Error setting field:positions in object:ch.eugster.pos.db.Receipt
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow
n Source)
. 40 more



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




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.497 / Virus Database: 296 - Release Date: 4/7/2003


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


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



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


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




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.498 / Virus Database: 297 - Release Date: 8/7/2003


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

Reply via email to