Re: Proper way to query non-decomposed M-to-N association

2004-01-25 Thread Jakob Braeuchi
hi sean,

have you tried adding a collection-descriptor 'addresses' to StudentImpl as well 
? ojb does not support inheritance of descriptors.

hth
jakob
Sean P. Hawkins wrote:
Hello all,

I have an application that has people (and subtypes of people) 
containing addresses.  I am trying to construct a query to return all 
people with a city like x.  So far, I've been less than successful.

My repository looks like this:

  class-descriptor
 class=com.steelpagoda.fist.model.Person
 extent-class class-ref=com.steelpagoda.fist.model.StudentImpl /
  /class-descriptor
 
  class-descriptor
class=com.steelpagoda.fist.model.PersonImpl
table=people
  
 field-descriptor
name=id
column=pid
jdbc-type=INTEGER
primarykey=true
autoincrement=true
 /

... snip ...

 collection-descriptor
name=addresses
element-class-ref=com.steelpagoda.fist.model.AddressImpl
refresh=true
auto-retrieve=true
auto-update=false
indirection-table=peopleaddresses
 
fk-pointing-to-this-class column=pid/
fk-pointing-to-element-class column=addressid/
 /collection-descriptor
... snip ...

  /class-descriptor

 
  class-descriptor
class=com.steelpagoda.fist.model.StudentImpl
table=students
  
 reference-descriptor name=super
class-ref=com.steelpagoda.fist.model.PersonImpl
 
foreignkey field-ref=id /
 /reference-descriptor

 field-descriptor
name=id
column=pid
jdbc-type=INTEGER
primarykey=true
autoincrement=true
 /
... snip ...
  /class-descriptor

  class-descriptor
class=com.steelpagoda.fist.model.AddressImpl
table=addresses
  
 field-descriptor
name=id
column=addressid
jdbc-type=INTEGER
primarykey=true
autoincrement=true
 /
 field-descriptor
name=company
column=company
jdbc-type=VARCHAR
 /
 field-descriptor
name=line1
column=line1
jdbc-type=VARCHAR
 /
 field-descriptor
name=line2
column=line2
jdbc-type=VARCHAR
 /
 field-descriptor
name=line3
column=line3
jdbc-type=VARCHAR
 /
 field-descriptor
name=city
column=city
jdbc-type=VARCHAR
 /
 field-descriptor
name=state
column=stateprov
jdbc-type=VARCHAR
 /
 field-descriptor
name=postalCode
column=postalcode
jdbc-type=VARCHAR
 /
 field-descriptor
name=country
column=country
jdbc-type=VARCHAR
 /
collection-descriptor
name=residents
element-class-ref=com.steelpagoda.fist.model.PersonImpl
auto-retrieve=true
auto-update=false
indirection-table=peopleaddresses
 
fk-pointing-to-this-class column=addressid/
fk-pointing-to-element-class column=pid/
 /collection-descriptor
collection-descriptor
name=tags
element-class-ref=com.steelpagoda.fist.model.PersonAddressTag
orderby=personId
sort=ASC
 
inverse-foreignkey field-ref=addressId/
 /collection-descriptor
 /class-descriptor
 
  class-descriptor
class=com.steelpagoda.fist.model.PersonAddressTag
table=peopleaddresses
  
 field-descriptor
name=personId
column=pid
jdbc-type=INTEGER
primarykey=true
autoincrement=false
 /

 field-descriptor
name=addressId
column=addressid
jdbc-type=INTEGER
primarykey=true
autoincrement=false
 /
 field-descriptor
name=tag
column=tag
jdbc-type=VARCHAR
primarykey=true
autoincrement=false
 /
  /class-descriptor
I can query on any person field and get the expected behavior with 
regard to addresses contained in the addresses collection (e.g. the 
correct addresses are associated with the appropriate people.)  If I try 
the following code, however:

Criteria crit = new Criteria();
crit.addLike(addresses.city, %something%);
QueryByCriteria q = QueryFactory.newQuery(Person.class, crit, false);
retVal = pb.getCollectionByQuery(q);
I either get everyone or no one returned.  Obviously, the generated SQL 
is missing a clause to limit the cartesian product on the join.  What am 
I doing wrong?  Any help would be greatly appreciated.  A similar query 
through the ODMG interface behaved in the same way.

Thanks in advance.

Sean P. Hawkins
Steel Pagoda Information Systems, Inc.
www.steelpagoda.com


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

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

OQL documentation

2004-01-25 Thread Ziv Yankowitz
Hi All,

Can anyone point me to a documentation about OQL syntax.

thanks ziv.

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



More elements : Problem using getCollectionByQuery

2004-01-25 Thread A Leg
Hi

I get some more elements on my getCollectionByQuery problem.

It seems that elements of the Collection I get are not valid to be 
casted by my class.
If I change to put an Iterator on the Collection it works good as soon I 
don't try to cast to my Objects.

Does anybody can help me ?
I am realy stuck.
Andre

I change the code to :

System.out.println(Send COLLECTIONQUERY MGT );
   Collection results = 
(Collection)broker.getCollectionByQuery(listQuery);
   //System.out.println(Get COLLECTIONQUERY MGT Rows :  + 
results.size());
   System.out.println(Get COLLECTIONQUERY MGT Rows : INCONNU);
   Iterator iter = results.iterator();
   Collection acc = new Vector();
   System.out.println(Get COLLECTIONQUERY ojbIterator get );
   MGT_Request tmpReq = new MGT_Request();
   System.out.println(Get COLLECTIONQUERY ojbIterator iter);
   while (iter.hasNext())
   {
   acc.add(iter.next());
   }
   System.out.println(Get COLLECTIONQUERY ojbIterator done );
   MGT_Request[] resArray = (MGT_Request[])acc.toArray(emptyArray);
   System.out.println(Get COLLECTIONQUERY toArray done );

And I got the error message :

Send COLLECTIONQUERY MGT
Get COLLECTIONQUERY MGT Rows : INCONNU
Get COLLECTIONQUERY ojbIterator get
Get COLLECTIONQUERY ojbIterator iter
Get COLLECTIONQUERY ojbIterator done
java.lang.ArrayStoreException
   at java.lang.System.arraycopy(Native Method)
   at java.util.Vector.toArray(Vector.java:688)
   at 
org.compiere.mfg_scm.dbManager.TaskConsumer.mfgGetCollectionByQuery(Unknown 
Source)
   at 
org.compiere.mfg_scm.dbManager.DbManagerImpl.mfgGetCollectionByQuery(Unknown 
Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
   at sun.rmi.transport.Transport$1.run(Transport.java:148)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
   at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
   at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
   at java.lang.Thread.run(Thread.java:534)

A Leg wrote:

Hi

I have some problem using getCollectionByQuery.

Here is the peace of Code :

   System.out.println(Send COLLECTIONQUERY MGT );
   Collection results = 
(Collection)broker.getCollectionByQuery(listQuery);
   System.out.println(Get COLLECTIONQUERY MGT Rows :  + 
results.size());
   MGT_Request[] resArray = 
(MGT_Request[])results.toArray(emptyArray);
   System.out.println(Get COLLECTIONQUERY toArray done );

I get this trace :

Send COLLECTIONQUERY MGT
Get COLLECTIONQUERY MGT Rows : 2
java.lang.ArrayStoreException
   at java.lang.System.arraycopy(Native Method)
   at java.util.Vector.toArray(Vector.java:688)
   at 
org.compiere.mfg_scm.dbManager.TaskConsumer.mfgGetCollectionByQuery(Unknown 
Source)
   at 
org.compiere.mfg_scm.dbManager.DbManagerImpl.mfgGetCollectionByQuery(Unknown 
Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 

   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 

   at java.lang.reflect.Method.invoke(Method.java:324)
   at 
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
   at sun.rmi.transport.Transport$1.run(Transport.java:148)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
   at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
   at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) 

   at java.lang.Thread.run(Thread.java:534)

I have 2 records in my test table, so the size is good.
But methods of Collection to extract objects from the Collection : 
Iterator, toArray seems to have problem with the results Collection.

When using the pb broker with getObjectByQuery on the same table and 
same object it is working good.

I am using db-ojb-1.0.rc4

Can anybody help me, I turn alone this problem from one day and get no 
progress.

Andre Legendre

-
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]


Re: Choosing a cache implementation

2004-01-25 Thread Joe Germuska
This shouldn't be a big problem because per-broker cache clears its
cache after each PB.close/PB.commit/PB.rollback event, thus at the
latest after PB.close/PB create sequence the new data was used.
Wow, that clears things up; I had some idea that OJB had a 
system-wide cache of some sort, but now  I think I understand that 
the cache is just within a transaction context (or transaction-ish) 
to avoid cyclical object calls and such.

But wait... I know I've had situations where I've made database 
changes with SQL and don't see them in the JVM runtime until I 
restart the application.  Well, I think I know that.  I always 
thought that was related to the caching.

Are there two different aspects of object caching?  Am I just 
confused?  Maybe I need to run a few more tests.

Armin, I really appreciate your help.  Thanks

	Joe

--
Joe Germuska
[EMAIL PROTECTED]  
http://blog.germuska.com
  Imagine if every Thursday your shoes exploded if you tied them 
the usual way.  This happens to us all the time with computers, and 
nobody thinks of complaining.
-- Jef Raskin

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


RE: Choosing a cache implementation

2004-01-25 Thread Lance Eason
The cache implementation is configurable.  OJB can be configured to have a static 
cache that holds the objects loaded from the db for all time ObjectCacheDefaultImpl, a 
cache that is limited in scope to a single transaction (actually from the time you get 
a broker from the pool to the time you return it) ObjectCachePerBrokerImpl, or no 
caching via ObjectCacheEmptyImpl.  There's even some more implementations I'm not sure 
what do.

If you were seeing changes made through SQL not reflected in queries your 
OJB.properties is probably configured with ObjectCacheDefaultImpl.

-Original Message-
From: Joe Germuska [mailto:[EMAIL PROTECTED]
Sent: Sunday, January 25, 2004 10:29 AM
To: OJB Users List
Subject: Re: Choosing a cache implementation



This shouldn't be a big problem because per-broker cache clears its
cache after each PB.close/PB.commit/PB.rollback event, thus at the
latest after PB.close/PB create sequence the new data was used.

Wow, that clears things up; I had some idea that OJB had a 
system-wide cache of some sort, but now  I think I understand that 
the cache is just within a transaction context (or transaction-ish) 
to avoid cyclical object calls and such.

But wait... I know I've had situations where I've made database 
changes with SQL and don't see them in the JVM runtime until I 
restart the application.  Well, I think I know that.  I always 
thought that was related to the caching.

Are there two different aspects of object caching?  Am I just 
confused?  Maybe I need to run a few more tests.

Armin, I really appreciate your help.  Thanks

Joe


-- 
Joe Germuska
[EMAIL PROTECTED]  
http://blog.germuska.com
   Imagine if every Thursday your shoes exploded if you tied them 
the usual way.  This happens to us all the time with computers, and 
nobody thinks of complaining.
 -- Jef Raskin

-
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]



DListImpl

2004-01-25 Thread Saman Ghodsian
Hi everyone,
I've been using PB to implement my persistence framework, works wonders so
far
Now I came accross a point that needs to use a list in a class similar to
DListImpl, where I can have a collection of objects without having to set a
forignkey on the N side
Is there a way of using DListImpl from PB? And if not Is there a way of
initializing the DListImpl without having to do
OJB.getInstance().newDListImpl()??
That way I can keep my convention of not using Persistence related code in
my model.

Thanks,
Saman




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



RE: Choosing a cache implementation

2004-01-25 Thread Joe Germuska
At 10:51 AM -0600 1/25/04, Lance Eason wrote:
The cache implementation is configurable.  OJB can be configured to 
have a static cache that holds the objects loaded from the db for 
all time ObjectCacheDefaultImpl, a cache that is limited in scope to 
a single transaction (actually from the time you get a broker from 
the pool to the time you return it) ObjectCachePerBrokerImpl, or no 
caching via ObjectCacheEmptyImpl.  There's even some more 
implementations I'm not sure what do.

If you were seeing changes made through SQL not reflected in queries 
your OJB.properties is probably configured with 
ObjectCacheDefaultImpl.
That explains it.  And from looking at the code for class, I can see 
that clearing the cache returned by a broker when it's an instance of 
ObjectCacheDefaultImpl will result in clearing the only cache there 
is, even though access to it is mediated by a broker instance.

So I can run a batch database process outside of OJB and call one 
cache clear method and have my application respect the data loaded 
externally.  This is what I needed to figure out, so thanks everyone!

Joe

--
Joe Germuska
[EMAIL PROTECTED]  
http://blog.germuska.com
  Imagine if every Thursday your shoes exploded if you tied them 
the usual way.  This happens to us all the time with computers, and 
nobody thinks of complaining.
-- Jef Raskin

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


Re: Proper way to query non-decomposed M-to-N association

2004-01-25 Thread Sean P. Hawkins
Jakob,

That worked like a charm.  Thank you.

--Sean

Jakob Braeuchi wrote:

hi sean,

have you tried adding a collection-descriptor 'addresses' to 
StudentImpl as well ? ojb does not support inheritance of descriptors.

hth
jakob
Sean P. Hawkins wrote:

Hello all,

I have an application that has people (and subtypes of people) 
containing addresses.  I am trying to construct a query to return all 
people with a city like x.  So far, I've been less than successful.

My repository looks like this:

  class-descriptor
 class=com.steelpagoda.fist.model.Person
 extent-class class-ref=com.steelpagoda.fist.model.StudentImpl /
  /class-descriptor
 
  class-descriptor
class=com.steelpagoda.fist.model.PersonImpl
table=people
  
 field-descriptor
name=id
column=pid
jdbc-type=INTEGER
primarykey=true
autoincrement=true
 /

... snip ...

 collection-descriptor
name=addresses
element-class-ref=com.steelpagoda.fist.model.AddressImpl
refresh=true
auto-retrieve=true
auto-update=false
indirection-table=peopleaddresses
 
fk-pointing-to-this-class column=pid/
fk-pointing-to-element-class column=addressid/
 /collection-descriptor
... snip ...

  /class-descriptor

 
  class-descriptor
class=com.steelpagoda.fist.model.StudentImpl
table=students
  
 reference-descriptor name=super
class-ref=com.steelpagoda.fist.model.PersonImpl
 
foreignkey field-ref=id /
 /reference-descriptor

 field-descriptor
name=id
column=pid
jdbc-type=INTEGER
primarykey=true
autoincrement=true
 /
... snip ...
  /class-descriptor

  class-descriptor
class=com.steelpagoda.fist.model.AddressImpl
table=addresses
  
 field-descriptor
name=id
column=addressid
jdbc-type=INTEGER
primarykey=true
autoincrement=true
 /
 field-descriptor
name=company
column=company
jdbc-type=VARCHAR
 /
 field-descriptor
name=line1
column=line1
jdbc-type=VARCHAR
 /
 field-descriptor
name=line2
column=line2
jdbc-type=VARCHAR
 /
 field-descriptor
name=line3
column=line3
jdbc-type=VARCHAR
 /
 field-descriptor
name=city
column=city
jdbc-type=VARCHAR
 /
 field-descriptor
name=state
column=stateprov
jdbc-type=VARCHAR
 /
 field-descriptor
name=postalCode
column=postalcode
jdbc-type=VARCHAR
 /
 field-descriptor
name=country
column=country
jdbc-type=VARCHAR
 /
collection-descriptor
name=residents
element-class-ref=com.steelpagoda.fist.model.PersonImpl
auto-retrieve=true
auto-update=false
indirection-table=peopleaddresses
 
fk-pointing-to-this-class column=addressid/
fk-pointing-to-element-class column=pid/
 /collection-descriptor
collection-descriptor
name=tags
element-class-ref=com.steelpagoda.fist.model.PersonAddressTag
orderby=personId
sort=ASC
 
inverse-foreignkey field-ref=addressId/
 /collection-descriptor
 /class-descriptor
 
  class-descriptor
class=com.steelpagoda.fist.model.PersonAddressTag
table=peopleaddresses
  
 field-descriptor
name=personId
column=pid
jdbc-type=INTEGER
primarykey=true
autoincrement=false
 /

 field-descriptor
name=addressId
column=addressid
jdbc-type=INTEGER
primarykey=true
autoincrement=false
 /
 field-descriptor
name=tag
column=tag
jdbc-type=VARCHAR
primarykey=true
autoincrement=false
 /
  /class-descriptor
I can query on any person field and get the expected behavior with 
regard to addresses contained in the addresses collection (e.g. the 
correct addresses are associated with the appropriate people.)  If I 
try the following code, however:

Criteria crit = new Criteria();
crit.addLike(addresses.city, %something%);
QueryByCriteria q = QueryFactory.newQuery(Person.class, crit, false);
retVal = pb.getCollectionByQuery(q);
I either get everyone or no one returned.  Obviously, the generated 
SQL is missing a clause to limit the cartesian product on the join.  
What am I doing wrong?  Any help would be greatly appreciated.  A 
similar query through the ODMG interface behaved in the same way.

Thanks in advance.

Sean P. Hawkins
Steel Pagoda Information Systems, Inc.
www.steelpagoda.com


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


Re: JDO and associations (1:n, m:n)

2004-01-25 Thread Hubert Behaghel
Hi Thomas,

Thank you for your answer, here is my XML ClassDescriptor :

--
class-descriptor class=company.business.Division table=Division

field-descriptor name=id column=id jdbc-type=INTEGER 
primarykey=true autoincrement=true/
field-descriptor name=name column=name jdbc-type=VARCHAR/
field-descriptor name=companyId column=companyId jdbc-type=INTEGER/
field-descriptor name=superDivisionId column=superDivisionId 
jdbc-type=INTEGER/

reference-descriptor name=company class-ref=company.business.Company
foreignkey field-ref=companyId/
/reference-descriptor
reference-descriptor name=superDivision 
class-ref=company.business.Division
foreignkey field-ref=superDivisionId/
/reference-descriptor

collection-descriptor name=subDivisions 
element-class-ref=company.business.Division 
orderby=id sort=DESC
inverse-foreignkey field-ref=superDivisionId/
/collection-descriptor

/class-descriptor


class-descriptor class=company.business.Building table=Building

field-descriptor name=id column=id jdbc-type=INTEGER 
primarykey=true autoincrement=true/
field-descriptor name=name column=name jdbc-type=VARCHAR/

collection-descriptor  name=companies

element-class-ref=company.business.Company

indirection-table=Building_Company
fk-pointing-to-this-class column=buildingId/
fk-pointing-to-element-class column=companyId/
/collection-descriptor

/class-descriptor


class-descriptor class=company.business.Company table=Company

field-descriptor name=id column=id jdbc-type=INTEGER 
primarykey=true autoincrement=true/
field-descriptor name=name column=name jdbc-type=VARCHAR/

collection-descriptor name=divisions 
element-class-ref=company.business.Division 
inverse-foreignkey field-ref=companyId/
/collection-descriptor
collection-descriptor name=buildings

element-class-ref=company.business.Building

indirection-table=Building_Company
fk-pointing-to-this-class column=companyId/
fk-pointing-to-element-class column=buildingId/
/collection-descriptor

/class-descriptor

As you can see, these are the class descriptors of the application I
spoke about in my last post.

I hope you'll find something wrong (but in fact, because I read that for
JDO all the auto- attributed have to be kept as default, I don't
mention them in my repository_user.xml).

Thank you again.

--
Hubert


Le samedi 24 janvier 2004 à 12h11, Thomas Mahler a écrit :
 Hi Hubert,
 
 Please post the xml ClassDescriptors of your classes. I could imagine 
 that there is some trouble with the auto-update attributes of your 
 reference- and/or collection-descriptors
 
 Thomas
 
 Hubert Behaghel wrote:
 Hi there,
 
 I am trying to make a miniframework with OJB, based on its JDO plugin,
 so has to have business classes being persistent (almost transparently)
 and having a small application letting the user play with those
 persistent classes while viewing the state of the DB. (To be clear I try
 to have a very simple code for pedagogical purpose : this is like
 tutorial5 except that the class isn't Product but a set of classes
 generated from an UML diagram).
 
 All the basical operations work well but one : I can list, delete,
 insert objects but I cannot edit them... More precisely I can't edit
 them when they have references to other persistent objects.
 
 How do I proceed to edit one object ? I tried many ways :)
 
 First, my idea was to ask the user the id of the object (or everything
 which let me identify the one he wants), to get it from the database,
 and to modify a copy of it. Then when this is done, I begin a
 transaction, copy all the fields from the up-to-date copy to the
 original persistent instance (even the unmodified fiels) and commit. The
 problem is : the instance itself is updated correctly but the references
 are attempted to be reinserted automatically (even if unmodified)
 causing the database to reject it. As a matter of fact, those references
 have already been inserted so inserted them again is impossible : they
 share the same primary key (id).
 
 The second idea was to simply delete and then insert the copy after
 giving it the id of the deleted object. Here I got a JDOUserException
 for trying to insert an object with a key that already exist in the
 Persistence Manager cache... (does it means that JDO has got its own
 cache ? is this cache unable to see that the object was deleted just
 before ?)
 
 

Re: FW: deploy OJB with web application

2004-01-25 Thread ZZZ Liu
Armin.

Thanks for your reply. We found the problem. It is
because resin has it's own XML parser which is not
exactly the same as apache's. And when resin starts,
it loads its own library before loading from
WEB-INF/lib. The problem can be solved by explicitly
putting xerces.jar in the classpath.

Thanks,
Zhe

 
 
 -Original Message-
 From: Armin Waibel [mailto:[EMAIL PROTECTED]
 Sent: Thursday, January 22, 2004 3:28 AM
 To: OJB Users List
 Subject: Re: deploy OJB with web application
 
 
 Hi,
 
 ZZZ Liu wrote:
  I am using OJB rc5. Everything is fine when I use
 it
  for stand alone program. But when I try to use it
 in a
  web application (applciation server is resin
 2.1.10),
  I got following error. From the log, we can see
 that
  there is a NullPointerException at
 

org.apache.ojb.broker.metadata.RepositoryXmlHandler.getIsoLevel(Unknown
  Source) and from the debug message we can see that
  isolation-level: null.
 
 
 hmm, think something wrong with your
  

file:/D:/gsnx/builds/hourly/dist/gsnx/conf/repository.xml
 file.
 
 Should be something like that:
 
 
 descriptor-repository version=1.0
 isolation-level=read-uncommitted
  proxy-prefetching-limit=50
 
  !-- include all used database connections --
  database;
 
  !-- include ojb internal mappings here --
  internal;
 
  !-- include user defined mappings here  --
  user;
 /descriptor-repository
 
 regards,
 Armin
 
  If I manually add isolation-level attribute to
 each
  class descriptor element in
 repository_internal.xml
  and all included repository_user.xml's, then it
 works.
 
 
  I don't think there is any document saying that we
  need to change repository_internal.xml. I am
 wondering
  whether anybody has ever had the same problem and
  what's the real cause and the soultion for it.
 
  Thanks in advance.
 
  Zhe
 
 

===
  84938 DEBUG [tcpConnection-9003-0]
 util.RequestUtils -
  Get module name for path
  /core/domain/party/partySearchReport.jsp
  84938 DEBUG [tcpConnection-9003-0]
 util.RequestUtils -
  Module name found: default
  84953 DEBUG [tcpConnection-9003-0] tiles.InsertTag
 -
  insert page='/core/fwk/mainLayout.jsp'.
  88953 INFO  [tcpConnection-9003-0]
  util.PropertyMessageResources - Initializing,
 
 config='org.apache.struts.taglib.html.LocalStrings',
  returnNull=true
 
 [org.apache.ojb.broker.metadata.RepositoryPersistor]
  INFO: OJB Descriptor Repository:
 

file:/D:/gsnx/builds/hourly/dist/gsnx/conf/repository.xml
 

[org.apache.ojb.broker.metadata.RepositoryXmlHandler]
  DEBUG: startDoc
 

[org.apache.ojb.broker.metadata.RepositoryXmlHandler]
  DEBUG:  proxy-prefetching-limit: null
 

[org.apache.ojb.broker.metadata.RepositoryXmlHandler]
  DEBUG:   descriptor-repository
 

[org.apache.ojb.broker.metadata.RepositoryXmlHandler]
  DEBUG:  documentation
 

[org.apache.ojb.broker.metadata.RepositoryXmlHandler]
  DEBUG:class-descriptor
 

[org.apache.ojb.broker.metadata.RepositoryXmlHandler]
  DEBUG:  isolation-level: null
  89719 DEBUG [tcpConnection-9003-0] tiles.InsertTag
 -
  [ServletException in:/core/fwk/mainLayout.jsp]
 null'
  java.lang.ExceptionInInitializerError
  at
 

org.apache.ojb.broker.core.PersistenceBrokerFactoryBaseImpl.getDefaultKey(Un
 known
  Source)
  at
 

org.apache.ojb.broker.core.PersistenceBrokerFactoryBaseImpl.defaultPersisten
 ceBroker(Unknown
  Source)
  at
 

org.apache.ojb.broker.PersistenceBrokerFactory.defaultPersistenceBroker(Unkn
 own
  Source)
  at
 

com.gsnx.core.server.persistence.ojb.OjbPersistenceManager.init(OjbPersist
 enceManager.java)
  at
 

com.gsnx.core.server.persistence.PersistenceManagerFactory.getPersistenceMan
 ager(PersistenceManagerFactory.java)
  at
 

com.gsnx.core.server.util.lang.TranslationUtil.cacheTranslation(TranslationU
 til.java)
  at
 

com.gsnx.core.server.util.lang.TranslationUtil.getTranslation(TranslationUti
 l.java)
  at
 

com.gsnx.core.server.util.lang.TranslationUtil.message(TranslationUtil.java)
  at
 

com.gsnx.core.server.util.lang.TranslationUtil.message(TranslationUtil.java)
  at
 

com.gsnx.core.webui.fwk.util.HtmlUtil.resolveLabel(HtmlUtil.java)
  at
 

_core._fwk._mainlayout__jsp._jspService(_mainlayout__jsp.java:73)
  at
 com.caucho.jsp.JavaPage.service(JavaPage.java:75)
  at com.caucho.jsp.Page.subservice(Page.java:506)
  at
 

com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)
  at
 

com.caucho.server.http.Invocation.service(Invocation.java:315)
  at
 

com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
  at
 

com.caucho.server.http.QRequestDispatcher.include(QRequestDispatcher.java:36
 2)
  at
 

com.caucho.server.http.QRequestDispatcher.include(QRequestDispatcher.java:27
 4)
  at
 

com.caucho.jsp.QPageContext.include(QPageContext.java:547)
  at