<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>ojb-dev@db.apache.org Archives</title>
<link rel="self" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/?format=atom"/>
<link href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/"/>
<id>http://mail-archives.apache.org/mod_mbox/db-ojb-dev/</id>
<updated>2009-12-08T16:26:19Z</updated>
<entry>
<title>LOBs in OJB 1.0.5RC1</title>
<author><name>Ilkka Priha &lt;ipriha@norther.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200910.mbox/%3c4ACAE509.8050501@norther.org%3e"/>
<id>urn:uuid:%3c4ACAE509-8050501@norther-org%3e</id>
<updated>2009-10-06T06:34:49Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hello

Armin's LOB handling on RC1 is really great! However, as different 
platforms treat LOBs in various ways, we would appreciate some more 
flexibility.

LobHandle, BlobHandle and ClobHandle could have a public constructor for 
transient LOBs, which would not take PersistenceBrokerInternal as a 
parameter. That would allow us to use our own transient implementations 
of LOBs together with OJB's LobHandles.

// TODO: (imp 2009-09-28) Transient handle without a persister broker.
public LobHandle(Object locator)
{
     if(locator == null)
     {
         throw new NullPointerException("The locator object may not be 
'null'");
     }
     this.locator = locator;
     isTransient = false;
     active = false;
     if(locator instanceof Lob)
     {
         isTransient = true;
         markDirty();
     }
}

RSIterator, line 533, should have a null test before calling lob.isActive().

MySQL applies emulators to LOB locators and they require primary keys in 
LOB queries. Primary keys could be added to LobHelperImpl's 
performRefreshLob() method (we've done it by subclassing).

MySQL emulators require also a specific hack for the LOB field in the 
select statement
 
http://dev.mysql.com/doc/refman/5.4/en/connector-j-reference-implementation-notes.html

We've implemented it in an extension to PlatformMySQLImpl, but using it 
requires that statements delegate their select field/column generation 
to Platform implementations. That seems to be OK, because the last phase 
of generation (getQuoteName()) is already delegated and some refactoring 
would make good for the intermediate phases, too.

JDK 1.6 extended BLOB and CLOB interfaces provide a useful free() 
method, which would be nice to have in handles.

Regards,
     Ilkka

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>how to reduce mem heap usage with Scrollable RS</title>
<author><name>Tincy varghese &lt;tincy_p_varghese@yahoo.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200901.mbox/%3c549202.35844.qm@web56708.mail.re3.yahoo.com%3e"/>
<id>urn:uuid:%3c549202-35844-qm@web56708-mail-re3-yahoo-com%3e</id>
<updated>2009-01-12T10:27:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
In my Application :

if I am doing some particular UI searches with pagination ,My memory usage is keep on increasing.
how to reduce mem heap usage with Scrollable RS 
It has been observed in UI searches on the particular pages,that the memory size can be made
to increase by navigating the UI pages using Next, Last, Previous page navigation buttons.

Please suggest a solutionf or how to resolve the mem size increase problem with UI Search
button. When the UI Search button is used, the system creates a ScrollableResultSet. How can
we stop the mem size from increasing indefinitely with ScrollableResultSet.


Thanks


      Add more friends to your messenger and enjoy! Go to http://messenger.yahoo.com/invite/

</pre>
</div>
</content>
</entry>
<entry>
<title>Need Urgent Help</title>
<author><name>Tincy varghese &lt;tincy_p_varghese@yahoo.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200901.mbox/%3c143611.96596.qm@web56701.mail.re3.yahoo.com%3e"/>
<id>urn:uuid:%3c143611-96596-qm@web56701-mail-re3-yahoo-com%3e</id>
<updated>2009-01-12T10:15:28Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
if I am doing some particular UI searches with pagination ,My memory usage is keep on increasing.
how to reduce mem heap usage with Scrollable RS 
It has been observed in UI searches on the particular pages,that the memory size can be made
to increase by navigating the UI pages using Next, Last, Previous page navigation buttons.

Please suggest a solutionf or how to resolve the mem size increase problem with UI Search
button. When the UI Search button is used, the system creates a ScrollableResultSet. How can
we stop the mem size from increasing indefinitely with ScrollableResultSet.




      Check out the all-new Messenger 9.0! Go to http://in.messenger.yahoo.com/

</pre>
</div>
</content>
</entry>
<entry>
<title>Need Urgent Help</title>
<author><name>Tincy varghese &lt;tincy_p_varghese@yahoo.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200901.mbox/%3c202824.25916.qm@web56702.mail.re3.yahoo.com%3e"/>
<id>urn:uuid:%3c202824-25916-qm@web56702-mail-re3-yahoo-com%3e</id>
<updated>2009-01-12T10:12:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
if I am doing some particular UI searches with pagination ,My memory usage is keep on increasing.
how to reduce mem heap usage with Scrollable RS 
It has been observed in UI searches on the particular pages,that the memory size can be made
to increase by navigating the UI pages using Next, Last, Previous page navigation buttons.

Please suggest a solutionf or how to resolve the mem size increase problem with UI Search
button. When the UI Search button is used, the system creates a ScrollableResultSet. How can
we stop the mem size from increasing indefinitely with ScrollableResultSet.




      Add more friends to your messenger and enjoy! Go to http://messenger.yahoo.com/invite/

</pre>
</div>
</content>
</entry>
<entry>
<title>Problems while using OJB with iAnywhere Driver to connect Sybase</title>
<author><name>Jenish &lt;jenish.shah@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200809.mbox/%3c19671098.post@talk.nabble.com%3e"/>
<id>urn:uuid:%3c19671098-post@talk-nabble-com%3e</id>
<updated>2008-09-25T14:48:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

Hello All, 

We have a project which uses OJB to talk with DB. It was working fine with
jconnect driver. Now we have changed our design and now we are trying
iAnywhere driver instead of jConnect2. 

Now we are facing the problem that after some time of deployment we are
getting exception at the backend something like "Borrow broker from pool
failed" 

Can anybody please suggest me if we need to tune some parameter of OJB to
make it run with iAnywhere? 

Thanks, 
Jenish
-- 
View this message in context: http://www.nabble.com/Problems-while-using-OJB-with-iAnywhere-Driver-to-connect-Sybase-tp19671098p19671098.html
Sent from the Apache DB - ObjectRelationalBridge Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>OJB Development Activity</title>
<author><name>Jason &lt;jason.lunn@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200809.mbox/%3c7d1fa50d0809031121r2f3602aas73a912147241642@mail.gmail.com%3e"/>
<id>urn:uuid:%3c7d1fa50d0809031121r2f3602aas73a912147241642@mail-gmail-com%3e</id>
<updated>2008-09-03T18:21:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I have been away from the OJB community for a few years. Based on the state
of the website and the SVN repository, it looks like this project has
stalled... the last commits were months ago and the last release was in
2005.
Is OJB dead, or is active work being done somewhere to work towards
finishing 1.1, 2.0, the OTM, et al.

 - Jason


</pre>
</div>
</content>
</entry>
<entry>
<title>Need Quick Help !! Production Issue</title>
<author><name>Somendra Paul &lt;som_paul@yahoo.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200806.mbox/%3c460133.22050.qm@web54605.mail.re2.yahoo.com%3e"/>
<id>urn:uuid:%3c460133-22050-qm@web54605-mail-re2-yahoo-com%3e</id>
<updated>2008-06-29T05:50:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
These are the following java objects that we store:
 
Wip  --&gt; Wip Process(related table of Wip) -&gt; Wip Qty (related table of Wip)
Lot --&gt; Lot Qty(related table of Lot) -&gt; Lot Process Location(related table of Lot)
Shipment 
 
The way our code works is this Wip,Lot,Shipment data are kept in csv files, they are then
converted to thier respective java objects and then 
persisted to the DB, one by one.
 
Suppose a file  can contain 100 Lot, 100 Wip, and 100 Shipment and they can be interlaced,
what i mean is that Lot,Wip and Shipment can come in 
any sequence, and not that first 100 Lot and then 100 Wip and then Shipment.
 
 
Suppose our file has Lot, Shipment and then Wip:
 
Current Problem: 
Our setting in repository-database.xml is batch-mode is true,and autoComit is 2 and when the
three objects are persisted, we find that
sometimes and that is quite rare, that the some of the objects are actually not persisted
in DB, though there is no exception in logs,
we are using OJB1.0.4.
 
Current Code Behaviour of Code: --&gt;
The way our code works is we get the transaction from the PB broker, and then start the transaction
and then insert the Lot object,afterthat they 
will persist the Lot Qty and Lot Process Location objects which are information related to
lot, by setting the batch mode to true and then calling broker.
store(pc) for each LotQty or Lot Process Location and then call batchUpdate (intention being
that the since for a single lot , there are multiple lot qty objects
it would be better to use batch updates for such objects ) and then set back the batch mode
to false again. The Shipment record comes gets inserted
and in the code for every Shipment we dynamically generate a Wip record and save the record
to DB, as similar to Lot, wip will have WippROCESSLocation
and WipQty which are saved by doing again batch Update,and again setting the batch update
to false,and then the Wip record will go to DB as explained above
andthen commit or rollback the transaction.
 
Second way the same behaviour can be achieved in our code--&gt;
 
We get the transaction ,start the transaction, and start the batch Mode to true, after making
all the Lot,LotQty, Lot Process Location persistent and then make 
the executeBatch call and then do the same for Shipment ie make the batchMode to true and
then persist Shipment, dynamic Wip and then again call
batch Update and similar for Wip and then commit or rollback the transaction.
 
One question in this approach is that if I had written the code in such a way that we start
the transaction , start the batch mode, and then save Lot,Lot Qty,
Lot Process Location ,Shipment, dynamic Wip and then Wip, Wip Qty,WipProcess Location, and
then call batch Update, what i found is that process Shipment
if we need to find that if the Lot object is there in DB, then it was unable to acess the
Lot Object, i am not able to understand why ??
 
 
Third Approach:--&gt; Have batch Update to false in repository_database.xml, and then start
the txn, call Lot,LotQty,Lot process location,Shipment
and dynamic Wip, Wip ,Wip Qty,Wip Process Location,and then commit or rollback the transaction,
but then in this way we will not be able 
to use the batch mode features to ehance the performance.
 
What is wanted to know :--.&gt;
 
What i want to know is is the current way of writting hte batch Update is correct, or something
is wrong, which is causing hte issue mentioned.
 
Is the second approach correct, if and why ?
 
Is the performance of the third approach almost similar the second or will be the very bad.


      

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Junit Issues</title>
<author><name>=?utf-8?B?Q2FybG9zIENow6F2ZXo=?= &lt;cchavez@agssa.net&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200802.mbox/%3c40760.216.230.147.187.1202193415.squirrel@ags01.gssa.net%3e"/>
<id>urn:uuid:%3c40760-216-230-147-187-1202193415-squirrel@ags01-gssa-net%3e</id>
<updated>2008-02-05T06:36:55Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Armin.

Armin Waibel Escribio :-)
&gt; Hi Carlos,
&gt;
&gt; thanks for testing the RC using postgresql (I don't use this DB for
&gt; testing) and the detailed feedback.
&gt; The main test database is hsql and some tests use specific
&gt; syntax/keywords not supported by all databases.
&gt; My local test-suit results against different databases are:
&gt;
&gt; database    PB   ODMG
&gt; ----------------------
&gt; hsql        0    0
&gt; mysql       0    0
&gt; oracleXE    0/1  0
&gt; maxDB       5/3  0
&gt;
&gt; oracle fail on a locking test because of a date/timestamp issue (oracle
&gt; specific date/timestamp precision).
&gt; maxDB fail/errors are caused by the jdbc-driver which show bad paging
&gt; support (seems that maxDB returns wrong results when using 'offset')
&gt; I don't want to fix these issues, because the tests will became too
&gt; complex if we always check for the current database.
&gt;
&gt; Carlos ChÃ¡vez wrote:
&gt;&gt; Hello Armin,
&gt;&gt; Hello All.
&gt;&gt;
&gt;&gt;  I ran the junit test cases of OJB, i found some issues; my environment
&gt;&gt; is: postgresql 8.2.6, java 1.5.0_14, ant 1.7.0, branch OJB_1_0_RELEASE
&gt;&gt; revision 616989.
&gt;&gt;
&gt;&gt; 1. In the profile for postgresql (profile/postgresql.profile) the
&gt;&gt; variables torque.database.createUrl and torque.database.buildUrl have
&gt;&gt; the
&gt;&gt; wrong values.
&gt;&gt;
&gt;&gt;  the value of torque.database.createUrl is
&gt;&gt; ${urlProtocol}:${urlSubprotocol}://${torque.database.host}/template1,
&gt;&gt; but
&gt;&gt; it shoul be
&gt;&gt; ${urlProtocol}:${urlSubprotocol}://${torque.database.host}/${urlDbalias}.
&gt;&gt;
&gt;&gt;  the value of torque.database.buildUrl is
&gt;&gt; ${urlProtocol}:${urlSubprotocol}://${torque.database.host}/${urlDbalias},
&gt;&gt; but it should be
&gt;&gt; ${urlProtocol}:${urlSubprotocol}://${torque.database.host}/template1
&gt;&gt;
&gt;&gt;  Basically the torque.database.createUrl is used to indicate the
&gt;&gt; database
&gt;&gt; test to create and torque.database.buildUrl looks like we need to
&gt;&gt; indicate some other database via ODBC in order to create a database as
&gt;&gt; far i understand, so the test try to create the database template1, but
&gt;&gt; this is wrong because that database already exists and is created by
&gt;&gt; postgresql.
&gt;
&gt; Did you run the OJB test suite with default call
&gt; 'ant junit'?
&gt; In this case ddlutils is used to setup the database.
&gt; Only if you call
&gt; 'ant -Duse-torque=y junit'
&gt; torque is used.
&gt; The ddlutils task only use the torque.database.createUrl property. I
&gt; don't know why we need both properties (buildUrl/createUrl), seems that
&gt; except of postgresql they are always the same.
&gt;
   Yes, with torque the junit test case works fine.

   With ddlutils does not work, throw an out of memory error and added the
tables to the database template1 instead the ojbtest (which is not
created) what i think is wrong because the template1 in postgresql is
used as a template for create new databases.

   I think the following will to fix the issue:

   As i said before set in the profile/postgresql.profile the following:
torque.database.createUrl =
${urlProtocol}:${urlSubprotocol}://${torque.database.host}/${urlDbalias}

torque.database.buildUrl =
${urlProtocol}:${urlSubprotocol}://${torque.database.host}/template1

   in the file build-torque.xml, we need to change the following:
   line 393: change torque.database.createUrl to torque.database.buildUrl
   line 411: change torque.database.buildUrl to torque.database.createUrl
   line 421: change torque.database.buildUrl to torque.database.createUrl

the ddlutils build file does not need any modification.

I tested again torque and ddlutils.

&gt;
&gt;&gt;
&gt;&gt; 2. The other issue is related to the table/field name quoted, in the
&gt;&gt; file
&gt;&gt; src/test/org/apache/ojb/repository_junit.xml, we are quoting the table
&gt;&gt; name QUOTED_ARTICLE, in posrtgresql when we quote a identifier this
&gt;&gt; become
&gt;&gt; case sensitive, so if we have the table quoted_article and we try for
&gt;&gt; example select * from "QUOTED_ARTICLE", the identifier is not the same
&gt;&gt; because the quote, without the quote QUOTED_ARTICLE and quoted_article
&gt;&gt; are
&gt;&gt; the same, but they are not the same if we use the quote. so the test
&gt;&gt; cases
&gt;&gt; fail because the table "QUOTED_ARTICLE" does not exists. we are quoting
&gt;&gt; the fields ARTICLE_ID, ARTICLE_NAME and UNIT in the same descriptor.
&gt;
&gt; This sounds strange. In file src/schema/ojbtest-schema.xml (this file
&gt; contains the sql metadata to create the test database tables) all names
&gt; are in upper case:
&gt;
&gt; &lt;table name="QUOTED_ARTICLE"&gt;
&gt;          &lt;column name="ARTICLE_ID" required="true" primaryKey="true"
&gt; type="INTEGER"/&gt;
&gt;          &lt;column name="ARTICLE_NAME" type="VARCHAR" size="150"/&gt;
&gt;          &lt;column name="GROUP_ID" type="INTEGER"/&gt;
&gt;          &lt;column name="UNIT" type="VARCHAR" size="150"/&gt;
&gt;          &lt;column name="PRICE" type="FLOAT"/&gt;
&gt;          &lt;column name="STOCK" type="INTEGER"/&gt;
&gt;          &lt;foreign-key foreignTable="Kategorien"&gt;
&gt;            &lt;reference local="GROUP_ID" foreign="Kategorie_Nr"/&gt;
&gt;          &lt;/foreign-key&gt;
&gt;      &lt;/table&gt;
&gt;
&gt; and in the repository file the quoted name is in upper case too:
&gt; &lt;class-descriptor
&gt;     	  class="org.apache.ojb.broker.QuotedTest$QuotedArticle"
&gt;     	  proxy="dynamic"
&gt;     	  table="'QUOTED_ARTICLE'"
&gt;     &gt;
&gt; Does ddlutils/torque create the table QUOTED_ARTICLE in upper case or is
&gt; the upper case ignored?
&gt;

 I think is a postgresql feature, if you create the table without the
quoted the identifier will be lowercase, so if in the script have CREATE
TABLE QUOTED_ARTICLE, the QUOTED_ARTICLE will be lowercases, if we want
as is we need to quoted the table name or any identifier, like CREATE
TABLE "QUOTED_ARTICLE", this preserve the uppercase.

&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; 3. The following test case fail because the function curdate() does not
&gt;&gt; exists in postgresql, the correct function is CURRENT_DATE.
&gt;
&gt; The test pass with the function CURRENT_DATE? As said above I don't want
&gt; to write database tests for all databases.

   Yes, the test passed.

&gt;
&gt;
&gt;&gt;
&gt;&gt; 4. The following test case fail because the argument for the abs()
&gt;&gt; function is a string variable:
&gt;&gt;
&gt;&gt; testQuery	Error	 * SQLException during execution of sql-statement: * sql
&gt;&gt; statement: SELECT
&gt;&gt; A0.IDENTITY_,A0.MOD_,A0.MAX_,A0.AVG_,A0.DISTINCT_,A0.HOUR_,A0.AS_,A0.NAME_,A0.FK_ONE_
&gt;&gt; FROM FUNCTION_TEST_KEY A0 INNER JOIN (FUNCTION_TEST_ONE A1 INNER JOIN
&gt;&gt; FUNCTION_TEST_MANY A2 ON A1.ABS_=A2.FK_ONE_) ON A0.FK_ONE_=A1.ABS_ WHERE
&gt;&gt; ((A2.SUM_ = ?) AND mod(A0.MAX_, A0.MOD_) &lt; ?) AND abs(A0.AS_) &gt; ? *
&gt;&gt; Exception message: ERROR: no existe la funciÃ³n abs(character varying) *
&gt;&gt; Vendor error code: 0 * SQL state code: 42883 **
&gt;
&gt; This seems to be a bug in the test. Querying for the absolute value of a
&gt; string is absolute nonsense (written by myself ;-)). I will fix this ASAP!
&gt;
  great.

&gt;
&gt;&gt; 5. some other test that is failing:
&gt;&gt;
&gt;&gt; at
&gt;&gt; org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:89)
&gt;&gt; at
&gt;&gt; org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:282)
&gt;&gt; at org.apache.ojb.broker.lob.LOBTest.testReportQuery(LOBTest.java:120)
&gt;&gt; Caused by: org.postgresql.util.PSQLException: Bad value for type long :
&gt;
&gt; All other failures are Blob/Clob and Java_Object type related failures.
&gt; Seems that the postgresql Platform implementation class doesn't proper
&gt; support these types.
&gt; I will start working on this ASAP - help is welcome.

  ok, i'll to see what i can do.

  Cheers,
  Carlos ChÃ¡vez.


&gt;
&gt; regards,
&gt; Armin
&gt;
&gt; ---------------------------------------------------------------------
&gt; To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
&gt; For additional commands, e-mail: ojb-dev-help@db.apache.org
&gt;


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Junit Issues</title>
<author><name>Armin Waibel &lt;arminw@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200802.mbox/%3c47A7AEE4.1080300@apache.org%3e"/>
<id>urn:uuid:%3c47A7AEE4-1080300@apache-org%3e</id>
<updated>2008-02-05T00:33:40Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Carlos,

thanks for testing the RC using postgresql (I don't use this DB for 
testing) and the detailed feedback.
The main test database is hsql and some tests use specific 
syntax/keywords not supported by all databases.
My local test-suit results against different databases are:

database    PB   ODMG
----------------------
hsql        0    0
mysql       0    0
oracleXE    0/1  0
maxDB       5/3  0

oracle fail on a locking test because of a date/timestamp issue (oracle 
specific date/timestamp precision).
maxDB fail/errors are caused by the jdbc-driver which show bad paging 
support (seems that maxDB returns wrong results when using 'offset')
I don't want to fix these issues, because the tests will became too 
complex if we always check for the current database.

Carlos ChÃ¡vez wrote:
&gt; Hello Armin,
&gt; Hello All.
&gt; 
&gt;  I ran the junit test cases of OJB, i found some issues; my environment
&gt; is: postgresql 8.2.6, java 1.5.0_14, ant 1.7.0, branch OJB_1_0_RELEASE
&gt; revision 616989.
&gt; 
&gt; 1. In the profile for postgresql (profile/postgresql.profile) the
&gt; variables torque.database.createUrl and torque.database.buildUrl have the
&gt; wrong values.
&gt; 
&gt;  the value of torque.database.createUrl is
&gt; ${urlProtocol}:${urlSubprotocol}://${torque.database.host}/template1, but
&gt; it shoul be
&gt; ${urlProtocol}:${urlSubprotocol}://${torque.database.host}/${urlDbalias}.
&gt; 
&gt;  the value of torque.database.buildUrl is
&gt; ${urlProtocol}:${urlSubprotocol}://${torque.database.host}/${urlDbalias},
&gt; but it should be
&gt; ${urlProtocol}:${urlSubprotocol}://${torque.database.host}/template1
&gt; 
&gt;  Basically the torque.database.createUrl is used to indicate the database
&gt; test to create and torque.database.buildUrl looks like we need to
&gt; indicate some other database via ODBC in order to create a database as
&gt; far i understand, so the test try to create the database template1, but
&gt; this is wrong because that database already exists and is created by
&gt; postgresql.

Did you run the OJB test suite with default call
'ant junit'?
In this case ddlutils is used to setup the database.
Only if you call
'ant -Duse-torque=y junit'
torque is used.
The ddlutils task only use the torque.database.createUrl property. I
don't know why we need both properties (buildUrl/createUrl), seems that
except of postgresql they are always the same.


&gt; 
&gt; 2. The other issue is related to the table/field name quoted, in the file
&gt; src/test/org/apache/ojb/repository_junit.xml, we are quoting the table
&gt; name QUOTED_ARTICLE, in posrtgresql when we quote a identifier this become
&gt; case sensitive, so if we have the table quoted_article and we try for
&gt; example select * from "QUOTED_ARTICLE", the identifier is not the same
&gt; because the quote, without the quote QUOTED_ARTICLE and quoted_article are
&gt; the same, but they are not the same if we use the quote. so the test cases
&gt; fail because the table "QUOTED_ARTICLE" does not exists. we are quoting
&gt; the fields ARTICLE_ID, ARTICLE_NAME and UNIT in the same descriptor.

This sounds strange. In file src/schema/ojbtest-schema.xml (this file
contains the sql metadata to create the test database tables) all names
are in upper case:

&lt;table name="QUOTED_ARTICLE"&gt;
         &lt;column name="ARTICLE_ID" required="true" primaryKey="true"
type="INTEGER"/&gt;
         &lt;column name="ARTICLE_NAME" type="VARCHAR" size="150"/&gt;
         &lt;column name="GROUP_ID" type="INTEGER"/&gt;
         &lt;column name="UNIT" type="VARCHAR" size="150"/&gt;
         &lt;column name="PRICE" type="FLOAT"/&gt;
         &lt;column name="STOCK" type="INTEGER"/&gt;
         &lt;foreign-key foreignTable="Kategorien"&gt;
           &lt;reference local="GROUP_ID" foreign="Kategorie_Nr"/&gt;
         &lt;/foreign-key&gt;
     &lt;/table&gt;

and in the repository file the quoted name is in upper case too:
&lt;class-descriptor
    	  class="org.apache.ojb.broker.QuotedTest$QuotedArticle"
    	  proxy="dynamic"
    	  table="'QUOTED_ARTICLE'"
    &gt;
Does ddlutils/torque create the table QUOTED_ARTICLE in upper case or is 
the upper case ignored?


&gt; 
&gt; 
&gt; 3. The following test case fail because the function curdate() does not
&gt; exists in postgresql, the correct function is CURRENT_DATE.

The test pass with the function CURRENT_DATE? As said above I don't want 
to write database tests for all databases.


&gt; 
&gt; 4. The following test case fail because the argument for the abs()
&gt; function is a string variable:
&gt; 
&gt; testQuery	Error	 * SQLException during execution of sql-statement: * sql
&gt; statement: SELECT
&gt; A0.IDENTITY_,A0.MOD_,A0.MAX_,A0.AVG_,A0.DISTINCT_,A0.HOUR_,A0.AS_,A0.NAME_,A0.FK_ONE_
&gt; FROM FUNCTION_TEST_KEY A0 INNER JOIN (FUNCTION_TEST_ONE A1 INNER JOIN
&gt; FUNCTION_TEST_MANY A2 ON A1.ABS_=A2.FK_ONE_) ON A0.FK_ONE_=A1.ABS_ WHERE
&gt; ((A2.SUM_ = ?) AND mod(A0.MAX_, A0.MOD_) &lt; ?) AND abs(A0.AS_) &gt; ? *
&gt; Exception message: ERROR: no existe la funciÃ³n abs(character varying) *
&gt; Vendor error code: 0 * SQL state code: 42883 **

This seems to be a bug in the test. Querying for the absolute value of a 
string is absolute nonsense (written by myself ;-)). I will fix this ASAP!


&gt; 5. some other test that is failing:
&gt; 
&gt; at
&gt; org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:89)
&gt; at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:282)
&gt; at org.apache.ojb.broker.lob.LOBTest.testReportQuery(LOBTest.java:120)
&gt; Caused by: org.postgresql.util.PSQLException: Bad value for type long :

All other failures are Blob/Clob and Java_Object type related failures. 
Seems that the postgresql Platform implementation class doesn't proper 
support these types.
I will start working on this ASAP - help is welcome.

regards,
Armin

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>Junit Issues</title>
<author><name>=?utf-8?B?Q2FybG9zIENow6F2ZXo=?= &lt;cchavez@agssa.net&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200802.mbox/%3c39912.216.230.147.187.1202070283.squirrel@ags01.gssa.net%3e"/>
<id>urn:uuid:%3c39912-216-230-147-187-1202070283-squirrel@ags01-gssa-net%3e</id>
<updated>2008-02-03T20:24:43Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

Hello Armin,
Hello All.

 I ran the junit test cases of OJB, i found some issues; my environment
is: postgresql 8.2.6, java 1.5.0_14, ant 1.7.0, branch OJB_1_0_RELEASE
revision 616989.

1. In the profile for postgresql (profile/postgresql.profile) the
variables torque.database.createUrl and torque.database.buildUrl have the
wrong values.

 the value of torque.database.createUrl is
${urlProtocol}:${urlSubprotocol}://${torque.database.host}/template1, but
it shoul be
${urlProtocol}:${urlSubprotocol}://${torque.database.host}/${urlDbalias}.

 the value of torque.database.buildUrl is
${urlProtocol}:${urlSubprotocol}://${torque.database.host}/${urlDbalias},
but it should be
${urlProtocol}:${urlSubprotocol}://${torque.database.host}/template1

 Basically the torque.database.createUrl is used to indicate the database
test to create and torque.database.buildUrl looks like we need to
indicate some other database via ODBC in order to create a database as
far i understand, so the test try to create the database template1, but
this is wrong because that database already exists and is created by
postgresql.

2. The other issue is related to the table/field name quoted, in the file
src/test/org/apache/ojb/repository_junit.xml, we are quoting the table
name QUOTED_ARTICLE, in posrtgresql when we quote a identifier this become
case sensitive, so if we have the table quoted_article and we try for
example select * from "QUOTED_ARTICLE", the identifier is not the same
because the quote, without the quote QUOTED_ARTICLE and quoted_article are
the same, but they are not the same if we use the quote. so the test cases
fail because the table "QUOTED_ARTICLE" does not exists. we are quoting
the fields ARTICLE_ID, ARTICLE_NAME and UNIT in the same descriptor.


3. The following test case fail because the function curdate() does not
exists in postgresql, the correct function is CURRENT_DATE.

testReportQuery_3	Error	 * SQLException during execution of sql-statement:
* sql statement: SELECT A0.NAME_,sum(A2.FK_ONE_),CURDATE() FROM
FUNCTION_TEST_KEY A0 INNER JOIN (FUNCTION_TEST_ONE A1 INNER JOIN
FUNCTION_TEST_MANY A2 ON A1.ABS_=A2.FK_ONE_) ON A0.FK_ONE_=A1.ABS_ WHERE
(A2.SUM_ = ?) AND A0.NAME_ = ? GROUP BY A0.NAME_ * Exception message:
ERROR: no existe la funciÃ³n curdate() * Vendor error code: 0 * SQL state
code: 42883 **

org.apache.ojb.broker.PersistenceBrokerSQLException:
* SQLException during execution of sql-statement:
* sql statement: SELECT A0.NAME_,sum(A2.FK_ONE_),CURDATE() FROM
FUNCTION_TEST_KEY A0 INNER JOIN (FUNCTION_TEST_ONE A1 INNER JOIN
FUNCTION_TEST_MANY A2 ON A1.ABS_=A2.FK_ONE_) ON A0.FK_ONE_=A1.ABS_ WHERE
(A2.SUM_ = ?) AND A0.NAME_ = ? GROUP BY A0.NAME_
* Exception message: ERROR: no existe la funciÃƒÂ³n curdate()
* Vendor error code: 0
* SQL state code: 42883
**
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:148)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:99)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:78)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(JdbcAccessImpl.java:330)
at
org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(RsQueryObject.java:93)
at org.apache.ojb.broker.accesslayer.RsIterator.(RsIterator.java:193)
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.(ReportQueryRsIterator.java:50)
at
org.apache.ojb.broker.core.ReportRsIteratorFactoryImpl.createRsIterator(ReportRsIteratorFactoryImpl.java:64)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:2229)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getReportQueryIteratorFromQuery(PersistenceBrokerImpl.java:2179)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getReportQueryIteratorByQuery(PersistenceBrokerImpl.java:2166)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getReportQueryIteratorByQuery(DelegatingPersistenceBroker.java:383)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getReportQueryIteratorByQuery(DelegatingPersistenceBroker.java:383)
at
org.apache.ojb.broker.FunctionTest.testReportQuery_3(FunctionTest.java:214)
Caused by: org.postgresql.util.PSQLException: ERROR: no existe la funciÃƒÂ³n
curdate()
at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(JdbcAccessImpl.java:314)


4. The following test case fail because the argument for the abs()
function is a string variable:

testQuery	Error	 * SQLException during execution of sql-statement: * sql
statement: SELECT
A0.IDENTITY_,A0.MOD_,A0.MAX_,A0.AVG_,A0.DISTINCT_,A0.HOUR_,A0.AS_,A0.NAME_,A0.FK_ONE_
FROM FUNCTION_TEST_KEY A0 INNER JOIN (FUNCTION_TEST_ONE A1 INNER JOIN
FUNCTION_TEST_MANY A2 ON A1.ABS_=A2.FK_ONE_) ON A0.FK_ONE_=A1.ABS_ WHERE
((A2.SUM_ = ?) AND mod(A0.MAX_, A0.MOD_) &lt; ?) AND abs(A0.AS_) &gt; ? *
Exception message: ERROR: no existe la funciÃ³n abs(character varying) *
Vendor error code: 0 * SQL state code: 42883 **

org.apache.ojb.broker.PersistenceBrokerSQLException:
* SQLException during execution of sql-statement:
* sql statement: SELECT
A0.IDENTITY_,A0.MOD_,A0.MAX_,A0.AVG_,A0.DISTINCT_,A0.HOUR_,A0.AS_,A0.NAME_,A0.FK_ONE_
FROM FUNCTION_TEST_KEY A0 INNER JOIN (FUNCTION_TEST_ONE A1 INNER JOIN
FUNCTION_TEST_MANY A2 ON A1.ABS_=A2.FK_ONE_) ON A0.FK_ONE_=A1.ABS_ WHERE
((A2.SUM_ = ?) AND mod(A0.MAX_, A0.MOD_) &lt; ?) AND abs(A0.AS_) &gt; ?
* Exception message: ERROR: no existe la funciÃƒÂ³n abs(character varying)
* Vendor error code: 0
* SQL state code: 42883
**
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:148)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:99)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:78)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(JdbcAccessImpl.java:330)
at
org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(RsQueryObject.java:93)
at org.apache.ojb.broker.accesslayer.RsIterator.(RsIterator.java:193)
at
org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:63)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:2229)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(PersistenceBrokerImpl.java:2192)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1870)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:373)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:373)
at org.apache.ojb.broker.FunctionTest.testQuery(FunctionTest.java:127)
Caused by: org.postgresql.util.PSQLException: ERROR: no existe la funciÃƒÂ³n
abs(character varying)
at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(JdbcAccessImpl.java:314)

5. some other test that is failing:

testReportQuery	Error	org.postgresql.util.PSQLException: Bad value for
type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

org.apache.ojb.broker.PersistenceBrokerException:
org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:89)
at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:282)
at org.apache.ojb.broker.lob.LOBTest.testReportQuery(LOBTest.java:120)
Caused by: org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:75)
	0.087
testQuery	Error	Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'

org.apache.ojb.broker.PersistenceBrokerException: Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:260)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:535)
at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:282)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:147)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:281)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1601)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:404)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:404)
at org.apache.ojb.broker.lob.LOBTest.testQuery(LOBTest.java:205)
Caused by: org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:694)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:253)
	0.029
testUpdateWithoutRefresh	Error	org.postgresql.util.PSQLException: Bad
value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

org.apache.ojb.broker.PersistenceBrokerException:
org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:89)
at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:282)
at
org.apache.ojb.broker.lob.LobHelperImpl.performRefreshLob(LobHelperImpl.java:166)
at org.apache.ojb.broker.lob.LobHelperImpl.refreshLob(LobHelperImpl.java:127)
at
org.apache.ojb.broker.lob.LobHelperImpl.internalAutoRefresh(LobHelperImpl.java:104)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1782)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1741)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at
org.apache.ojb.broker.lob.LOBTest.testUpdateWithoutRefresh(LOBTest.java:272)
Caused by: org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:75)
	0.037
testLobAutoRefresh	Error	org.postgresql.util.PSQLException: Bad value for
type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxx

org.apache.ojb.broker.PersistenceBrokerException:
org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxx
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:89)
at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:282)
at
org.apache.ojb.broker.lob.LobHelperImpl.performRefreshLob(LobHelperImpl.java:166)
at org.apache.ojb.broker.lob.LobHelperImpl.refreshLob(LobHelperImpl.java:127)
at org.apache.ojb.broker.lob.LobHelperImpl.refreshLob(LobHelperImpl.java:111)
at org.apache.ojb.broker.lob.LOBTest.testLobAutoRefresh(LOBTest.java:323)
Caused by: org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:75)
	0.050
testLOBStream	Error	Requested array size exceeds VM limit

java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setCharacterStream(AbstractJdbc2Statement.java:2881)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.defaultSetClob(PlatformDefaultImpl.java:464)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(PlatformDefaultImpl.java:340)
at
org.apache.ojb.broker.platforms.PlatformPostgreSQLImpl.setObjectForStatement(PlatformPostgreSQLImpl.java:143)
at
org.apache.ojb.broker.accesslayer.StatementManager.setObjectForStatement(StatementManager.java:783)
at
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManager.java:452)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:225)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:2009)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1025)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1065)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:945)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at org.apache.ojb.broker.lob.LOBTest.testLOBStream(LOBTest.java:360)
	0.019
testLOBUpdateSetBytesSetString	Error	Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'

org.apache.ojb.broker.PersistenceBrokerException: Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:260)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(RowReaderDefaultImpl.java:214)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(JdbcAccessImpl.java:625)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getPlainDBObject(PersistenceBrokerImpl.java:1621)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(PersistenceBrokerImpl.java:1665)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1769)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1741)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at org.apache.ojb.broker.lob.LOBTest.doUpdate(LOBTest.java:519)
at
org.apache.ojb.broker.lob.LOBTest.testLOBUpdateSetBytesSetString(LOBTest.java:437)
Caused by: org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:694)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:253)
	0.033
testLOBUpdateSetBlobSetClob	Error	Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'

org.apache.ojb.broker.PersistenceBrokerException: Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:260)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(RowReaderDefaultImpl.java:214)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(JdbcAccessImpl.java:625)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getPlainDBObject(PersistenceBrokerImpl.java:1621)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(PersistenceBrokerImpl.java:1665)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1769)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1741)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at org.apache.ojb.broker.lob.LOBTest.doUpdate(LOBTest.java:519)
at
org.apache.ojb.broker.lob.LOBTest.testLOBUpdateSetBlobSetClob(LOBTest.java:450)
Caused by: org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:694)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:253)
	0.027
testLOBUpdateSetBinaryStreamSetCharacterStream	Error	Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'

org.apache.ojb.broker.PersistenceBrokerException: Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:260)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(RowReaderDefaultImpl.java:214)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(JdbcAccessImpl.java:625)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getPlainDBObject(PersistenceBrokerImpl.java:1621)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(PersistenceBrokerImpl.java:1665)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1769)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1741)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at org.apache.ojb.broker.lob.LOBTest.doUpdate(LOBTest.java:519)
at
org.apache.ojb.broker.lob.LOBTest.testLOBUpdateSetBinaryStreamSetCharacterStream(LOBTest.java:470)
Caused by: org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:694)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:253)
	0.029
testLOBInsertRead	Error	org.postgresql.util.PSQLException: Bad value for
type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

org.apache.ojb.broker.PersistenceBrokerException:
org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:89)
at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:282)
at
org.apache.ojb.broker.lob.LobHelperImpl.performRefreshLob(LobHelperImpl.java:166)
at org.apache.ojb.broker.lob.LobHelperImpl.refreshLob(LobHelperImpl.java:127)
at org.apache.ojb.broker.lob.LobHelperImpl.refreshLob(LobHelperImpl.java:111)
at org.apache.ojb.broker.lob.LOBTest.testLOBInsertRead(LOBTest.java:711)
Caused by: org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:75)
	0.080
testLOBDelete	Error	Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'

org.apache.ojb.broker.PersistenceBrokerException: Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:260)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(RowReaderDefaultImpl.java:214)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(JdbcAccessImpl.java:625)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getPlainDBObject(PersistenceBrokerImpl.java:1621)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(PersistenceBrokerImpl.java:1665)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1769)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1741)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at org.apache.ojb.broker.lob.LOBTest.testLOBDelete(LOBTest.java:759)
Caused by: org.postgresql.util.PSQLException: Bad value for type long :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!
 xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:694)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:253)
	0.040
testLOBFail_1	Error	org.postgresql.util.PSQLException: Bad value for type
long : xxxxx

org.apache.ojb.broker.PersistenceBrokerException:
org.postgresql.util.PSQLException: Bad value for type long : xxxxx
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:89)
at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:282)
at
org.apache.ojb.broker.lob.LobHelperImpl.performRefreshLob(LobHelperImpl.java:166)
at org.apache.ojb.broker.lob.LobHelperImpl.refreshLob(LobHelperImpl.java:127)
at org.apache.ojb.broker.lob.LobHelperImpl.refreshLob(LobHelperImpl.java:111)
at org.apache.ojb.broker.lob.LOBTest.testLOBFail_1(LOBTest.java:815)
Caused by: org.postgresql.util.PSQLException: Bad value for type long : xxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.getObjectFromResultSet(ReportQueryRsIterator.java:75)
	0.032
testLOBFail_2	Error	Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'

org.apache.ojb.broker.PersistenceBrokerException: Error reading class
'org.apache.ojb.broker.lob.LOBTest$LobObject' from result set, current
read field was 'blob'
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:260)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(RowReaderDefaultImpl.java:214)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(JdbcAccessImpl.java:625)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getPlainDBObject(PersistenceBrokerImpl.java:1621)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(PersistenceBrokerImpl.java:1665)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1769)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1741)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(DelegatingPersistenceBroker.java:378)
at org.apache.ojb.broker.lob.LOBTest.testLOBFail_2(LOBTest.java:847)
Caused by: org.postgresql.util.PSQLException: Bad value for type long : xxxxx
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2736)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2032)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:52)
at
org.apache.ojb.broker.metadata.JdbcTypes$T_Blob.readValueFromResultSet(JdbcTypes.java:1126)
at
org.apache.ojb.broker.metadata.JdbcTypes$BaseType.getObjectFromColumn(JdbcTypes.java:164)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:711)
at
org.apache.ojb.broker.metadata.FieldDescriptor.readValue(FieldDescriptor.java:694)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(RowReaderDefaultImpl.java:253)
	0.028
testByteArrayStringInsertRead	Error	* SQLException during execution of
sql-statement: * sql statement: INSERT INTO BLOB_TEST
(ID,BLOB_VALUE_,CLOB_VALUE_) VALUES (?,?,?) * Exception message: Cannot
cast an instance of [B to type Types.BLOB * Vendor error code: 0 * SQL
state code: 07006 * Target class is
'org.apache.ojb.broker.lob.LOBTest$LobObjectExt' * PK of the target object
is [id=200033] * Source object:
org.apache.ojb.broker.lob.LOBTest$LobObjectExt@19c745a **

org.apache.ojb.broker.PersistenceBrokerSQLException:
* SQLException during execution of sql-statement:
* sql statement: INSERT INTO BLOB_TEST (ID,BLOB_VALUE_,CLOB_VALUE_) VALUES
(?,?,?)
* Exception message: Cannot cast an instance of [B to type Types.BLOB
* Vendor error code: 0
* SQL state code: 07006
* Target class is 'org.apache.ojb.broker.lob.LOBTest$LobObjectExt'
* PK of the target object is [id=200033]
* Source object: org.apache.ojb.broker.lob.LOBTest$LobObjectExt@19c745a
**
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:148)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:99)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:78)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:246)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:2009)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1025)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1065)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:945)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.lob.LOBTest.testByteArrayStringInsertRead(LOBTest.java:881)
Caused by: org.postgresql.util.PSQLException: Cannot cast an instance of
[B to type Types.BLOB
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1665)
at
org.postgresql.jdbc3.AbstractJdbc3Statement.setObject(AbstractJdbc3Statement.java:1438)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1692)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.defaultSetBlob(PlatformDefaultImpl.java:381)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(PlatformDefaultImpl.java:336)
at
org.apache.ojb.broker.platforms.PlatformPostgreSQLImpl.setObjectForStatement(PlatformPostgreSQLImpl.java:143)
at
org.apache.ojb.broker.accesslayer.StatementManager.setObjectForStatement(StatementManager.java:783)
at
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManager.java:452)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:225)
	0.034
testByteArrayStringDelete	Error	* SQLException during execution of
sql-statement: * sql statement: INSERT INTO BLOB_TEST
(ID,BLOB_VALUE_,CLOB_VALUE_) VALUES (?,?,?) * Exception message: Cannot
cast an instance of [B to type Types.BLOB * Vendor error code: 0 * SQL
state code: 07006 * Target class is
'org.apache.ojb.broker.lob.LOBTest$LobObjectExt' * PK of the target object
is [id=200034] * Source object:
org.apache.ojb.broker.lob.LOBTest$LobObjectExt@ba533c **

org.apache.ojb.broker.PersistenceBrokerSQLException:
* SQLException during execution of sql-statement:
* sql statement: INSERT INTO BLOB_TEST (ID,BLOB_VALUE_,CLOB_VALUE_) VALUES
(?,?,?)
* Exception message: Cannot cast an instance of [B to type Types.BLOB
* Vendor error code: 0
* SQL state code: 07006
* Target class is 'org.apache.ojb.broker.lob.LOBTest$LobObjectExt'
* PK of the target object is [id=200034]
* Source object: org.apache.ojb.broker.lob.LOBTest$LobObjectExt@ba533c
**
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:148)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:99)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:78)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:246)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:2009)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1025)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1065)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:945)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.lob.LOBTest.testByteArrayStringDelete(LOBTest.java:920)
Caused by: org.postgresql.util.PSQLException: Cannot cast an instance of
[B to type Types.BLOB
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1665)
at
org.postgresql.jdbc3.AbstractJdbc3Statement.setObject(AbstractJdbc3Statement.java:1438)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1692)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.defaultSetBlob(PlatformDefaultImpl.java:381)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(PlatformDefaultImpl.java:336)
at
org.apache.ojb.broker.platforms.PlatformPostgreSQLImpl.setObjectForStatement(PlatformPostgreSQLImpl.java:143)
at
org.apache.ojb.broker.accesslayer.StatementManager.setObjectForStatement(StatementManager.java:783)
at
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManager.java:452)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:225)
	0.028
testLOBImplementations_1	Success		0.019
testLOBImplementations_2	Success		0.014
testDelete	Error	* SQLException during execution of sql-statement: * sql
statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?) * Exception message: Unsupported Types value: 2,000 * Vendor
error code: 0 * SQL state code: 07006 * Target class is
'org.apache.ojb.broker.JdbcJavaObjectTest$Container' * PK of the target
object is [id=200021] * Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@aed6ca[id=200021,name=testDelete,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@4ef200[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@150682[str=editor_test,aInt=3]]
**

org.apache.ojb.broker.PersistenceBrokerSQLException:
* SQLException during execution of sql-statement:
* sql statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?)
* Exception message: Unsupported Types value: 2,000
* Vendor error code: 0
* SQL state code: 07006
* Target class is 'org.apache.ojb.broker.JdbcJavaObjectTest$Container'
* PK of the target object is [id=200021]
* Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@aed6ca[id=200021,name=testDelete,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@4ef200[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@150682[str=editor_test,aInt=3]]
**
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:148)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:99)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:78)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:246)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:2009)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1025)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1065)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:945)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.JdbcJavaObjectTest.doInsert(JdbcJavaObjectTest.java:131)
at
org.apache.ojb.broker.JdbcJavaObjectTest.testDelete(JdbcJavaObjectTest.java:55)
Caused by: org.postgresql.util.PSQLException: Unsupported Types value: 2,000
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1686)
at
org.postgresql.jdbc3.AbstractJdbc3Statement.setObject(AbstractJdbc3Statement.java:1438)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1692)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(PlatformDefaultImpl.java:344)
at
org.apache.ojb.broker.platforms.PlatformPostgreSQLImpl.setObjectForStatement(PlatformPostgreSQLImpl.java:143)
at
org.apache.ojb.broker.accesslayer.StatementManager.setObjectForStatement(StatementManager.java:783)
at
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManager.java:452)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:225)
	0.041
testInsert	Error	* SQLException during execution of sql-statement: * sql
statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?) * Exception message: Unsupported Types value: 2,000 * Vendor
error code: 0 * SQL state code: 07006 * Target class is
'org.apache.ojb.broker.JdbcJavaObjectTest$Container' * PK of the target
object is [id=200022] * Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@f77ec4[id=200022,name=testInsert,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@a386c4[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@1e4db52[str=editor_test,aInt=3]]
**

org.apache.ojb.broker.PersistenceBrokerSQLException:
* SQLException during execution of sql-statement:
* sql statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?)
* Exception message: Unsupported Types value: 2,000
* Vendor error code: 0
* SQL state code: 07006
* Target class is 'org.apache.ojb.broker.JdbcJavaObjectTest$Container'
* PK of the target object is [id=200022]
* Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@f77ec4[id=200022,name=testInsert,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@a386c4[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@1e4db52[str=editor_test,aInt=3]]
**
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:148)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:99)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:78)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:246)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:2009)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1025)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1065)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:945)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.JdbcJavaObjectTest.doInsert(JdbcJavaObjectTest.java:131)
at
org.apache.ojb.broker.JdbcJavaObjectTest.testInsert(JdbcJavaObjectTest.java:49)
Caused by: org.postgresql.util.PSQLException: Unsupported Types value: 2,000
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1686)
at
org.postgresql.jdbc3.AbstractJdbc3Statement.setObject(AbstractJdbc3Statement.java:1438)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1692)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(PlatformDefaultImpl.java:344)
at
org.apache.ojb.broker.platforms.PlatformPostgreSQLImpl.setObjectForStatement(PlatformPostgreSQLImpl.java:143)
at
org.apache.ojb.broker.accesslayer.StatementManager.setObjectForStatement(StatementManager.java:783)
at
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManager.java:452)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:225)
	0.036
testUpdate	Error	* SQLException during execution of sql-statement: * sql
statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?) * Exception message: Unsupported Types value: 2,000 * Vendor
error code: 0 * SQL state code: 07006 * Target class is
'org.apache.ojb.broker.JdbcJavaObjectTest$Container' * PK of the target
object is [id=200023] * Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@60c4e2[id=200023,name=testUpdate,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@11dd8cd[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@84b5c6[str=editor_test,aInt=3]]
**

org.apache.ojb.broker.PersistenceBrokerSQLException:
* SQLException during execution of sql-statement:
* sql statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?)
* Exception message: Unsupported Types value: 2,000
* Vendor error code: 0
* SQL state code: 07006
* Target class is 'org.apache.ojb.broker.JdbcJavaObjectTest$Container'
* PK of the target object is [id=200023]
* Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@60c4e2[id=200023,name=testUpdate,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@11dd8cd[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@84b5c6[str=editor_test,aInt=3]]
**
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:148)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:99)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:78)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:246)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:2009)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1025)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1065)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:945)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.JdbcJavaObjectTest.doInsert(JdbcJavaObjectTest.java:131)
at
org.apache.ojb.broker.JdbcJavaObjectTest.testUpdate(JdbcJavaObjectTest.java:95)
Caused by: org.postgresql.util.PSQLException: Unsupported Types value: 2,000
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1686)
at
org.postgresql.jdbc3.AbstractJdbc3Statement.setObject(AbstractJdbc3Statement.java:1438)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1692)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(PlatformDefaultImpl.java:344)
at
org.apache.ojb.broker.platforms.PlatformPostgreSQLImpl.setObjectForStatement(PlatformPostgreSQLImpl.java:143)
at
org.apache.ojb.broker.accesslayer.StatementManager.setObjectForStatement(StatementManager.java:783)
at
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManager.java:452)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:225)
	0.035
testRead	Error	* SQLException during execution of sql-statement: * sql
statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?) * Exception message: Unsupported Types value: 2,000 * Vendor
error code: 0 * SQL state code: 07006 * Target class is
'org.apache.ojb.broker.JdbcJavaObjectTest$Container' * PK of the target
object is [id=200024] * Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@cc8704[id=200024,name=testRead,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@1b434bd[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@1f2a3bd[str=editor_test,aInt=3]]
**

org.apache.ojb.broker.PersistenceBrokerSQLException:
* SQLException during execution of sql-statement:
* sql statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?)
* Exception message: Unsupported Types value: 2,000
* Vendor error code: 0
* SQL state code: 07006
* Target class is 'org.apache.ojb.broker.JdbcJavaObjectTest$Container'
* PK of the target object is [id=200024]
* Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@cc8704[id=200024,name=testRead,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@1b434bd[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@1f2a3bd[str=editor_test,aInt=3]]
**
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:148)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:99)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:78)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:246)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:2009)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1025)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1065)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:945)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.JdbcJavaObjectTest.doInsert(JdbcJavaObjectTest.java:131)
at
org.apache.ojb.broker.JdbcJavaObjectTest.testRead(JdbcJavaObjectTest.java:62)
Caused by: org.postgresql.util.PSQLException: Unsupported Types value: 2,000
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1686)
at
org.postgresql.jdbc3.AbstractJdbc3Statement.setObject(AbstractJdbc3Statement.java:1438)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1692)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(PlatformDefaultImpl.java:344)
at
org.apache.ojb.broker.platforms.PlatformPostgreSQLImpl.setObjectForStatement(PlatformPostgreSQLImpl.java:143)
at
org.apache.ojb.broker.accesslayer.StatementManager.setObjectForStatement(StatementManager.java:783)
at
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManager.java:452)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:225)
	0.023
testQuery	Error	* SQLException during execution of sql-statement: * sql
statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?) * Exception message: Unsupported Types value: 2,000 * Vendor
error code: 0 * SQL state code: 07006 * Target class is
'org.apache.ojb.broker.JdbcJavaObjectTest$Container' * PK of the target
object is [id=200025] * Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@67237c[id=200025,name=testQuery,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@14aab54[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@1363114[str=editor_test,aInt=3]]
**

org.apache.ojb.broker.PersistenceBrokerSQLException:
* SQLException during execution of sql-statement:
* sql statement: INSERT INTO CONTAINER_TBL (ID_,NAME,TARGET,EDITOR) VALUES
(?,?,?,?)
* Exception message: Unsupported Types value: 2,000
* Vendor error code: 0
* SQL state code: 07006
* Target class is 'org.apache.ojb.broker.JdbcJavaObjectTest$Container'
* PK of the target object is [id=200025]
* Source object:
org.apache.ojb.broker.JdbcJavaObjectTest$Container@67237c[id=200025,name=testQuery,target=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@14aab54[str=object_test,aInt=2],editor=org.apache.ojb.broker.JdbcJavaObjectTest$Editor@1363114[str=editor_test,aInt=3]]
**
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:148)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:99)
at
org.apache.ojb.broker.util.ExceptionHelper.generateException(ExceptionHelper.java:78)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:246)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:2009)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1025)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1065)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:945)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:236)
at
org.apache.ojb.broker.JdbcJavaObjectTest.doInsert(JdbcJavaObjectTest.java:131)
at
org.apache.ojb.broker.JdbcJavaObjectTest.testQuery(JdbcJavaObjectTest.java:78)
Caused by: org.postgresql.util.PSQLException: Unsupported Types value: 2,000
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1686)
at
org.postgresql.jdbc3.AbstractJdbc3Statement.setObject(AbstractJdbc3Statement.java:1438)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1692)
at
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(PlatformDefaultImpl.java:344)
at
org.apache.ojb.broker.platforms.PlatformPostgreSQLImpl.setObjectForStatement(PlatformPostgreSQLImpl.java:143)
at
org.apache.ojb.broker.accesslayer.StatementManager.setObjectForStatement(StatementManager.java:783)
at
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManager.java:452)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:225)

Cheers,
Carlos ChÃ¡vez.




---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r616989 - in /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker: query/EnclosingReportQuery.java query/ExistsCriteria.java query/InCriterion.java util/BrokerHelper.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080131021956.C48C51A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080131021956-C48C51A9832@eris-apache-org%3e</id>
<updated>2008-01-31T02:19:56Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Wed Jan 30 18:19:49 2008
New Revision: 616989

URL: http://svn.apache.org/viewvc?rev=616989&amp;view=rev
Log:
fix: count query in combination with IN-clause, add missing preprocess(PersistenceBrokerInternal
aPb) methods

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/EnclosingReportQuery.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ExistsCriteria.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriterion.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/BrokerHelper.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/EnclosingReportQuery.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/EnclosingReportQuery.java?rev=616989&amp;r1=616988&amp;r2=616989&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/EnclosingReportQuery.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/EnclosingReportQuery.java
Wed Jan 30 18:19:49 2008
@@ -23,6 +23,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.ojb.broker.PersistenceBrokerInternal;
+
 /**
  * Wrap a Query to support SQLSubSelect.
  * select count(*) from (select ... from ... where... )
@@ -41,6 +43,18 @@
     {
         query = aQuery;
         sql = anSql;
+    }
+
+    /**
+     * @see org.apache.ojb.broker.query.Query#preprocess(org.apache.ojb.broker.PersistenceBrokerInternal)
+     */
+    public void preprocess(PersistenceBrokerInternal aPb)
+    {
+        // is this required???
+        super.preprocess(aPb);
+
+        // this one is!!!!
+        query.preprocess(aPb);
     }
 
     public Query getQuery()

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ExistsCriteria.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ExistsCriteria.java?rev=616989&amp;r1=616988&amp;r2=616989&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ExistsCriteria.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ExistsCriteria.java
Wed Jan 30 18:19:49 2008
@@ -1,5 +1,7 @@
 package org.apache.ojb.broker.query;
 
+import org.apache.ojb.broker.PersistenceBrokerInternal;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one 
  * or more contributor license agreements.  See the NOTICE file 
@@ -40,6 +42,19 @@
     {
         super("", subQuery);
         m_negative = negative;
+    }
+
+    /**
+     * Preprocess the Criterion using a PersistenceBroker.
+     *
+     * @param aPb the PersistenceBroker
+     */
+    public void preprocess(PersistenceBrokerInternal aPb)
+    {
+        if (getValue() instanceof Query)
+        {
+            ((Query)getValue()).preprocess(aPb);
+        }
     }
 
     /*

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriterion.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriterion.java?rev=616989&amp;r1=616988&amp;r2=616989&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriterion.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriterion.java
Wed Jan 30 18:19:49 2008
@@ -2,6 +2,8 @@
 
 import java.util.Collection;
 
+import org.apache.ojb.broker.PersistenceBrokerInternal;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one 
  * or more contributor license agreements.  See the NOTICE file 
@@ -36,9 +38,22 @@
 	{
 		super(anAttribute, aValue, aClause);
 	}
- 
- 
-	/**
+
+    /**
+     * Preprocess the Criterion using a PersistenceBroker.
+     *
+     * @param aPb the PersistenceBroker
+     */
+    public void preprocess(PersistenceBrokerInternal aPb)
+    {
+        if (getValue() instanceof Query)
+        {
+            ((Query)getValue()).preprocess(aPb);
+        }
+    }
+
+
+    /**
 	 * @see org.apache.ojb.broker.query.SelectionCriteria#isBindable()
 	 * BRJ: empty Collection is bindable
 	 */

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/BrokerHelper.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/BrokerHelper.java?rev=616989&amp;r1=616988&amp;r2=616989&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/BrokerHelper.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/BrokerHelper.java
Wed Jan 30 18:19:49 2008
@@ -708,7 +708,16 @@
      */
     private Query getReportQueryByCriteriaCount(ReportQueryByCriteria aQuery)
     {
-        ReportQueryByCriteria countQuery = (ReportQueryByCriteria) getQueryByCriteriaCount(aQuery);
+        Query result = getQueryByCriteriaCount(aQuery);
+        ReportQueryByCriteria countQuery;
+        if(result instanceof EnclosingReportQuery)
+        {
+            countQuery = (ReportQueryByCriteria) ((EnclosingReportQuery) result).getQuery();
+        }
+        else
+        {
+            countQuery = (ReportQueryByCriteria) getQueryByCriteriaCount(aQuery);
+        }
 
         // BRJ: keep the original columns to build the Join
         countQuery.setJoinAttributes(aQuery.getAttributes());
@@ -720,7 +729,7 @@
             countQuery.addGroupBy((FieldHelper) iter.next());
         }
 
-        return countQuery;
+        return result;
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r616988 - /db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/QueryTest.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080131021703.7415B1A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080131021703-7415B1A9832@eris-apache-org%3e</id>
<updated>2008-01-31T02:17:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Wed Jan 30 18:17:02 2008
New Revision: 616988

URL: http://svn.apache.org/viewvc?rev=616988&amp;view=rev
Log:
add new tests to reproduce a query bug

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/QueryTest.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/QueryTest.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/QueryTest.java?rev=616988&amp;r1=616987&amp;r2=616988&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/QueryTest.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/QueryTest.java Wed Jan
30 18:17:02 2008
@@ -73,6 +73,100 @@
     }
 
     /**
+     * ReportQuery returning rows with some "Liquor" data ordered by price
+     */
+    public void testReportQueryDistinct()
+    {
+
+        Criteria crit = new Criteria();
+        Collection results = new Vector();
+        crit.addEqualTo("productGroup.groupName", "Liquors");
+        ReportQueryByCriteria q = QueryFactory.newReportQuery(Article.class, crit);
+        q.setAttributes(new String[]{"articleId", "articleName", "price"});
+        q.addOrderByAscending("price");
+        q.setDistinct(true);
+
+        Iterator iter = broker.getReportQueryIteratorByQuery(q);
+        assertNotNull(iter);
+        while(iter.hasNext())
+        {
+            results.add(iter.next());
+        }
+        assertTrue(results.size() &gt; 0);
+
+        // compare with count
+        int count = broker.getCount(q);
+        assertEquals(results.size(), count);
+
+    }
+
+    /**
+     * test OrderBy joined column
+     */
+    public void testCountDistinctWithInCriteria()
+    {
+        String name = ojbTestMethodIdentifier();
+        Person person = new Person();
+        person.setFirstname("tom");
+        person.setLastname(name);
+
+        Project project_1 = new Project();
+        project_1.setTitle(name);
+        ArrayList list_1 = new ArrayList();
+        list_1.add(person);
+        project_1.setPersons(list_1);
+
+        Project project_2 = new Project();
+        project_2.setTitle(name);
+        ArrayList list_2 = new ArrayList();
+        list_2.add(person);
+        project_2.setPersons(list_2);
+
+        ArrayList list_projects = new ArrayList();
+        list_projects.add(project_1);
+        list_projects.add(project_2);
+        person.setProjects(list_projects);
+
+        // another Project but without associated Person objects
+        Project project_3 = new Project();
+        project_3.setTitle(name);
+        ArrayList list_3 = new ArrayList();
+        // empty list
+        project_3.setPersons(list_3);
+
+        broker.beginTransaction();
+        broker.store(project_1);
+        //broker.store(project_2);
+        broker.store(project_3);
+        broker.commitTransaction();
+
+        broker.clearCache();
+
+        Criteria crit_in = new Criteria().addLike("firstname", "tom")
+                .addOrCriteria(new Criteria().addLike("firstname", "john"));
+        Query in_query = QueryFactory.newReportQuery(Person.class, new String[]{"id"}, crit_in,
true);
+        Criteria crit = new Criteria().addLike("title", name).addIn("persons.id", in_query);
+        ReportQueryByCriteria q = QueryFactory.newReportQuery(Project.class, new String[]{"id"},
crit, true);
+        q.setDistinct(true);
+
+        int count = broker.getCount(q);
+        //System.out.println("Count: " + count);
+        assertEquals(2, count);
+
+        List list = new ArrayList();
+        list.add(new Integer(person.getId()));
+        list.add(new Integer(12));
+        list.add(new Integer(13));
+        crit = new Criteria().addIn("persons.id", list);
+        q = QueryFactory.newReportQuery(Project.class, new String[]{"id"}, crit, true);
+        q.setDistinct(true);
+
+        count = broker.getCount(q);
+        //System.out.println("Count: " + count);
+        assertEquals(2, count);
+    }
+
+    /**
      * test OrderBy joined column
      */
     public void testCountWithInCriteria()



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r616978 - in /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query: AbstractCriterion.java IdentityCriteria.java InCriteria.java ReportQueryByCriteria.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080131013735.E53911A983A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080131013735-E53911A983A@eris-apache-org%3e</id>
<updated>2008-01-31T01:37:35Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Wed Jan 30 17:37:33 2008
New Revision: 616978

URL: http://svn.apache.org/viewvc?rev=616978&amp;view=rev
Log:
fix javadoc

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractCriterion.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/IdentityCriteria.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriteria.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ReportQueryByCriteria.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractCriterion.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractCriterion.java?rev=616978&amp;r1=616977&amp;r2=616978&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractCriterion.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractCriterion.java
Wed Jan 30 17:37:33 2008
@@ -48,7 +48,7 @@
     }
 
 	/**
-	 * @param criteria
+	 * @param parent a criterion
 	 */
 	protected void setParentCriterion(Criterion parent)
 	{

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/IdentityCriteria.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/IdentityCriteria.java?rev=616978&amp;r1=616977&amp;r2=616978&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/IdentityCriteria.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/IdentityCriteria.java
Wed Jan 30 17:37:33 2008
@@ -41,7 +41,7 @@
     /**
      * Build IdentityCriteria with EQUAL clause
      * @param anAttribute the name of the attribute
-     * @param aValue an Identity
+     * @param anIdentity an Identity
      */
     static IdentityCriteria buildEqualToCriteria(Object anAttribute, Identity anIdentity)
 	{
@@ -51,7 +51,7 @@
     /**
      * Build IdentityCriteria with NOT EQUAL clause
      * @param anAttribute the name of the attribute
-     * @param aValue an Identity
+     * @param anIdentity an Identity
      */
 	static IdentityCriteria buildNotEqualToCriteria(Object anAttribute, Identity anIdentity)
 	{
@@ -66,7 +66,7 @@
      * Constructor.
      * 
      * @param anAttribute the name of the attribute
-     * @param aValue an Identity
+     * @param identity an Identity
      * @param negative clause-indicator : true=NOT EQUAL, false=EQUAL
      */
     IdentityCriteria(Object anAttribute, Identity identity, boolean negative)

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriteria.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriteria.java?rev=616978&amp;r1=616977&amp;r2=616978&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriteria.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/InCriteria.java Wed
Jan 30 17:37:33 2008
@@ -45,7 +45,7 @@
     /**
      * Build InCriteria with IN clause
      * @param anAttribute the name of the attribute
-     * @param aValue an Identity
+     * @param values A collection of values
      */
     static InCriteria buildInCriteria(Object anAttribute, Collection values)
 	{
@@ -55,7 +55,7 @@
     /**
      * Build InCriteria with IN clause
      * @param aColumn the name of the column (do not translate)
-     * @param aValue an Identity
+     * @param values A collection of values
      */
     static InCriteria buildColumnInCriteria(Object aColumn, Collection values)
 	{
@@ -65,7 +65,7 @@
     /**
      * Build InCriteria with NOT IN clause
      * @param anAttribute the name of the attribute
-     * @param aValue an Identity
+     * @param values A collection of values
      */
 	static InCriteria buildNotInCriteria(Object anAttribute, Collection values)
 	{

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ReportQueryByCriteria.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ReportQueryByCriteria.java?rev=616978&amp;r1=616977&amp;r2=616978&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ReportQueryByCriteria.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/ReportQueryByCriteria.java
Wed Jan 30 17:37:33 2008
@@ -46,7 +46,7 @@
 	/**
 	 * Constructor for ReportQueryByCriteria.
 	 * @param targetClass
-	 * @param attributes[]
+	 * @param attributes
 	 * @param criteria
 	 * @param distinct
 	 */
@@ -59,7 +59,7 @@
 	/**
 	 * Constructor for ReportQueryByCriteria.
 	 * @param targetClass
-	 * @param attributes[]
+	 * @param attributes
 	 * @param criteria
 	 */
 	public ReportQueryByCriteria(Class targetClass, String[] attributes, Criteria criteria)
@@ -192,7 +192,4 @@
     {
         m_attrToFld = attrToFld;
     }
-
-
-    
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r616238 - /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080129102809.7037F1A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080129102809-7037F1A9832@eris-apache-org%3e</id>
<updated>2008-01-29T10:28:06Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Tue Jan 29 02:28:05 2008
New Revision: 616238

URL: http://svn.apache.org/viewvc?rev=616238&amp;view=rev
Log:
revert: make inner class non-final

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java?rev=616238&amp;r1=616237&amp;r2=616238&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java
Tue Jan 29 02:28:05 2008
@@ -627,7 +627,7 @@
         public Object write(PersistenceBroker broker, Object obj, Object oldObject);
     }
 
-    public static final class CopyStrategyImpl implements CopyStrategy
+    public static class CopyStrategyImpl implements CopyStrategy
     {
         static final String CLASS_NAME_STR = "ojbClassName11";
 



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r616151 - /db/ojb/branches/OJB_1_0_RELEASE/build.xml</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080129031305.44C2E1A983A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080129031305-44C2E1A983A@eris-apache-org%3e</id>
<updated>2008-01-29T03:13:05Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Mon Jan 28 19:13:04 2008
New Revision: 616151

URL: http://svn.apache.org/viewvc?rev=616151&amp;view=rev
Log:
copy readme file to source dist

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/build.xml

Modified: db/ojb/branches/OJB_1_0_RELEASE/build.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/build.xml?rev=616151&amp;r1=616150&amp;r2=616151&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/build.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/build.xml Mon Jan 28 19:13:04 2008
@@ -1146,6 +1146,8 @@
             &lt;!--&lt;fileset dir="contrib"/&gt;--&gt;
         &lt;!--&lt;/copy&gt;--&gt;
 
+        &lt;copy todir="${build.dir}/${archive}" file="${src.dir}/etc/readme.html"/&gt;
+
         &lt;mkdir dir="${build.dir}/${archive}/lib"/&gt;
         &lt;copy todir="${build.dir}/${archive}/lib"&gt;
             &lt;fileset dir="${lib}" includes="${source-dist.lib.includes}"&gt;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r616145 - /db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/news.html</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080129023957.23CBA1A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080129023957-23CBA1A9832@eris-apache-org%3e</id>
<updated>2008-01-29T02:39:56Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Mon Jan 28 18:39:56 2008
New Revision: 616145

URL: http://svn.apache.org/viewvc?rev=616145&amp;view=rev
Log:
update

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/news.html

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/news.html
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/news.html?rev=616145&amp;r1=616144&amp;r2=616145&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/news.html
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/news.html
Mon Jan 28 18:39:56 2008
@@ -10,9 +10,9 @@
 
 &lt;body&gt;
 
-&lt;h4&gt;&lt;i&gt;01/2007&lt;/i&gt; - OJB 1.0.5 released&lt;/h4&gt;
+&lt;h4&gt;&lt;i&gt;02/2008&lt;/i&gt; - OJB 1.0.5 released&lt;/h4&gt;
 &lt;p&gt;
-    The OJB 1.0.5 release contains new features, many bug fixes, performance improvements
and some changes.
+    The OJB 1.0.5 release contains new features, bug fixes, performance improvements and
some changes.
     &lt;br/&gt;
     Please read carefully the release notes before updating from previous versions.
     &lt;br/&gt;For more details about the 1.0.5 release see &lt;a href="site:release-notes"&gt;release-notes&lt;/a&gt;.



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r616136 - /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheDefaultImpl.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080129015559.F2ED41A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080129015559-F2ED41A9832@eris-apache-org%3e</id>
<updated>2008-01-29T01:55:59Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Mon Jan 28 17:55:58 2008
New Revision: 616136

URL: http://svn.apache.org/viewvc?rev=616136&amp;view=rev
Log:
minor improvement, avoid needless code within sync blocks

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheDefaultImpl.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheDefaultImpl.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheDefaultImpl.java?rev=616136&amp;r1=616135&amp;r2=616136&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheDefaultImpl.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheDefaultImpl.java
Mon Jan 28 17:55:58 2008
@@ -219,10 +219,12 @@
         if((obj != null))
         {
             traceIdentity(oid);
+            Object key = buildKey(oid);
+            CacheEntry entry = buildEntry(obj, oid);
+            if(log.isDebugEnabled()) log.debug("Cache object " + oid);
             synchronized(lock)
             {
-                if(log.isDebugEnabled()) log.debug("Cache object " + oid);
-                objectTable.put(buildKey(oid), buildEntry(obj, oid));
+                objectTable.put(key, entry);
             }
         }
     }
@@ -239,14 +241,15 @@
 
     public boolean cacheIfNew(Identity oid, Object obj)
     {
-        //processQueue();
         boolean result = false;
         Object key = buildKey(oid);
         if((obj != null))
         {
-            synchronized(objectTable)
+            CacheEntry entry;
+            synchronized(lock)
             {
-                if(!objectTable.containsKey(key))
+                entry = (CacheEntry) objectTable.get(key);
+                if(entry == null || entry.get() == null)
                 {
                     objectTable.put(key, buildEntry(obj, oid));
                     result = true;
@@ -307,12 +310,13 @@
         //processQueue();
         if(oid != null)
         {
+            if(log.isDebugEnabled()) log.debug("Remove object " + oid);
             removeTracedIdentity(oid);
+            Object key = buildKey(oid);
             synchronized(lock)
             {
-                objectTable.remove(buildKey(oid));
+                objectTable.remove(key);
             }
-            if(log.isDebugEnabled()) log.debug("Remove object " + oid);
         }
     }
 
@@ -347,9 +351,10 @@
         for(Iterator iterator = identitiesInWork.iterator(); iterator.hasNext();)
         {
             oid = (Identity) iterator.next();
+            Object key = buildKey(oid);
             synchronized(lock)
             {
-                objectTable.remove(buildKey(oid));
+                objectTable.remove(key);
             }
         }
     }
@@ -413,7 +418,6 @@
 
     private void processQueue()
     {
-        // TODO: check this code block.
         if(counter++ &gt; 500)
         {
             counter = 0;
@@ -422,7 +426,6 @@
                 CacheEntry sv;
                 while((sv = (CacheEntry) queue.poll()) != null)
                 {
-                    removeTracedIdentity(sv.getOid());
                     objectTable.remove(buildKey(sv.getOid()));
                 }
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615720 - /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/CacheDistributor.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128025238.ECBDE1A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128025238-ECBDE1A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:52:38Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:52:37 2008
New Revision: 615720

URL: http://svn.apache.org/viewvc?rev=615720&amp;view=rev
Log:
minor change, use synchronization lock object

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/CacheDistributor.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/CacheDistributor.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/CacheDistributor.java?rev=615720&amp;r1=615719&amp;r2=615720&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/CacheDistributor.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/CacheDistributor.java
Sun Jan 27 18:52:37 2008
@@ -67,6 +67,7 @@
     private static final String DELIMITER_FOR_EXCLUDE = ",";
     private static final ObjectCacheInternal DUMMY_CACHE =
             new ObjectCacheInternalWrapper(new ObjectCacheEmptyImpl(null, null));
+    private static final Object lock = new Object();
 
     /**
      * map, represents used cache implementations
@@ -129,7 +130,7 @@
 
     public void clear()
     {
-        synchronized(caches)
+        synchronized(lock)
         {
             Iterator it = caches.values().iterator();
             ObjectCache oc;
@@ -185,7 +186,7 @@
             {
                 if(!descriptorBasedCaches)
                 {
-                    synchronized(caches)
+                    synchronized(lock)
                     {
                         retval = lookupCache(targetClass);
 
@@ -206,7 +207,7 @@
                 }
                 else
                 {
-                    synchronized(caches)
+                    synchronized(lock)
                     {
                         retval = lookupCache(ocd);
 
@@ -237,7 +238,7 @@
                 else
                 {
                     String jcdAlias = broker.serviceConnectionManager().getConnectionDescriptor().getJcdAlias();
-                    synchronized(caches)
+                    synchronized(lock)
                     {
                         retval = lookupCache(jcdAlias);
 



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615719 - /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128025100.C23AA1A9838@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128025100-C23AA1A9838@eris-apache-org%3e</id>
<updated>2008-01-28T02:51:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:50:59 2008
New Revision: 615719

URL: http://svn.apache.org/viewvc?rev=615719&amp;view=rev
Log:
add log

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java?rev=615719&amp;r1=615718&amp;r2=615719&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/cache/ObjectCacheTwoLevelImpl.java
Sun Jan 27 18:50:59 2008
@@ -201,6 +201,8 @@
             if(target.equals(ObjectCacheDefaultImpl.class))
             {
                 // this property doesn't make sense in context of two-level cache
+                log.info("Set property '" + ObjectCacheDefaultImpl.AUTOSYNC_PROP + "' to
'false' in the specified apllication cache '"
+                        + target.getName() + "' to guarantee proper work");
                 prop.setProperty(ObjectCacheDefaultImpl.AUTOSYNC_PROP, "false");
             }
             ObjectCache temp = (ObjectCache) ClassHelper.newInstance(target, type, objects);



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615718 - in /db/ojb/branches/OJB_1_0_RELEASE: build.properties build.xml</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128025025.A845B1A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128025025-A845B1A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:50:25Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:50:09 2008
New Revision: 615718

URL: http://svn.apache.org/viewvc?rev=615718&amp;view=rev
Log:
exclude outdated/discontinued sources from the release
improve the 'source' task
separate the JDO prototype classes from normal build generation
use DdlUtils as default utility to setup OJB's test-suite
improve the 'ojb-blank' task
add task to run the ojb-blank examples (TODO: doesn't work, fix this)
declare jars shipped with OJB source distribution in build.properties file

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/build.properties
    db/ojb/branches/OJB_1_0_RELEASE/build.xml

Modified: db/ojb/branches/OJB_1_0_RELEASE/build.properties
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/build.properties?rev=615718&amp;r1=615717&amp;r2=615718&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/build.properties (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/build.properties Sun Jan 27 18:50:09 2008
@@ -61,25 +61,28 @@
 # because this will show unsolved problems.
 OJB.skip.issues=true
 
+###
+#
+# non-redistributable jars
+# Certain jar files required for a full OJB build may not be shipped
+# as part of the OJB distribution. Add the missing libraries to OJB's
+# /lib directory or use the following two properties to specify the path
+j2ee.jars=geronimo-*.jar
+jdo.jars=jdo.jar:jdori.jar
+
+
+
+# -------------------------------------------------------------------
 # -------------------------------------------------------------------
 # You should NOT have to edit anything below here.
 # -------------------------------------------------------------------
+# -------------------------------------------------------------------
 
 # With the 'jcdAlias' property you define a keyword for the used
 # connection. All test cases use this keyword.
 jcdAlias=default
 
-###
-#
-# non-redistributable jars
-# Certain jar files required for a full OJB build may not be shipped
-# as part of the OJB distribution.
-#
-j2ee.jars=geronimo-spec-j2ee-1.4-rc2.jar
-jdo.jars=jdo.jar:jdori.jar
-
 # These properties tell ant what the project's directory structure is.
-source=src
 src.dir=src
 src.java=${src.dir}/java
 src.test=${src.dir}/test
@@ -92,15 +95,15 @@
 src.ojb-blank=${src.dir}/ojb-blank
 src.check=${src.dir}/check
 config.dir=${src.dir}/config
-ojb=${source}/ojb
-etc=${source}/etc
+etc=${src.dir}/etc
 test=${build.dir}/test
+source=src
 dist=dist
 lib=lib
 bin=bin
 doc=doc
 
-# These properties are used by the maven build
+# These properties are used by the build file
 build.dir = ${basedir}/target
 build.src = ${build.dir}/src
 build.srctest = ${build.dir}/srctest
@@ -133,10 +136,54 @@
 # build.compiler=modern
 deprecation=true
 
+# jars shipped with OJB
+source-dist.lib.includes=\
+*ejb*.jar,\
+*jta*.jar,\
+*servlet*.jar,\
+ant-*.jar,\
+antlr-*.jar,\
+asm*.jar,\
+cglib*.jar,\
+commons-*.jar,\
+concurrent*.jar,\
+DdlUtils*.jar,\
+hsqldb*.jar,\
+jakarta-oro-*.jar,\
+jakarta-regexp-*.jar,\
+jcs-*.jar,\
+junit-*.jar,\
+log4j-*.jar,\
+p6spy-*.jar,\
+torque-gen-*.jar,\
+velocity-*.jar,\
+village-*jar,\
+xalan*.jar,\
+xdoclet-1.*.jar,\
+xdoclet-ojb-*.jar,\
+xjavadoc-*.jar,\
+xercesImpl-*.jar,\
+xml-apis-*.jar
+
 # ojb-blank and tutorial properties
 ojb-blank.resource.excludes=repository_user.xml,web.xml
-ojb-blank.lib.includes=asm*.jar,cglib*.jar,concurrent*.jar,antlr*.jar,commons*.jar\
-,hsqldb*.jar,log4j*.jar,torque*.jar,velocity*.jar,xdoclet*.jar,xjavadoc*.jar
+# (include junit jar to support the shipped sample)
+ojb-blank.lib.includes=\
+asm*.jar,\
+antlr*.jar,\
+cglib*.jar,\
+concurrent*.jar,\
+commons*.jar,\
+DdlUtils*.jar,\
+hsqldb*.jar,\
+jakarta-oro*.jar,\
+junit-*.jar,\
+log4j*.jar,\
+torque*.jar,\
+velocity*.jar,\
+xdoclet*.jar,\
+xjavadoc*.jar
+
 
 tutorial1.src.dir=${src.samples}/tutorial1/src/java
 tutorial1.src.includes=org/apache/ojb/tutorial1/**
@@ -164,7 +211,8 @@
 
 webapp-sample.src.dir=${src.samples}/tutorial1-struts
 webapp-sample.resource.includes=OJB*.properties,repository.dtd,repository_internal.xml
-webapp-sample.lib.includes=antlr*.jar,commons*.jar,hsqldb*.jar,log4j*.jar,torque*.jar,velocity*.jar,xdoclet*.jar,xjavadoc*.jar
+webapp-sample.lib.includes=antlr*.jar,commons*.jar,hsqldb*.jar,log4j*.jar\
+,torque*.jar,velocity*.jar,xdoclet*.jar,xjavadoc*.jar
 
 #
 # Documentation properties
@@ -213,18 +261,15 @@
 project-name=db-ojb
 major=1
 minor=0
-build=5
+build=5rc1
 version=${major}.${minor}.${build}
-versiondate=2007-01-29
+versiondate=2008-01-28
 ojb-filename-prefix=${project-name}-${version}
 
 #checkstyle.version.pattern=\\$Revision.*\\$
 #checkstyle.author.pattern=\\S
 checkstyle.license.file=${src.check}/license-check.txt
 
-#
-### ANT properties end here
-
 
 ### Preprocessor flags start here
 #
@@ -242,6 +287,5 @@
 # so we need the following hints:
 ojbOnSwitches=JDK13 JDBC30
 ojbOffSwitches=
-
 #
 ### Preprocessor flags end here

Modified: db/ojb/branches/OJB_1_0_RELEASE/build.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/build.xml?rev=615718&amp;r1=615717&amp;r2=615718&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/build.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/build.xml Sun Jan 27 18:50:09 2008
@@ -48,6 +48,33 @@
     &lt;!-- Clover initialization--&gt;
     &lt;property name="clover.initstring" location="${build.dir}/coverage.db"/&gt;
 
+    &lt;!-- ******************************************************************************
--&gt;
+    &lt;!-- ****************** CHECK BEFORE BUILD NEW RELEASE *****************************
--&gt;
+    &lt;!-- ******************************************************************************
--&gt;
+    &lt;!-- Pattern set to exclude outdated or non-official java files from OJB core build--&gt;
+    &lt;!-- This pattern is used by the 'prepare' task to copy the source files --&gt;
+    &lt;patternset id="build.exclude"&gt;
+        &lt;exclude name="**/ojb/jdo/**"/&gt;
+        &lt;exclude name="**/ojb/otm/**"/&gt;
+        &lt;exclude name="**/compare/PerformanceOTMTest*"/&gt;
+        &lt;exclude name="**/reversedb/**"/&gt;
+        &lt;exclude name="**/reversedb2/**"/&gt;
+        &lt;exclude name="tools/**/swing/**"/&gt;
+    &lt;/patternset&gt;
+
+    &lt;!-- Pattern set to exclude outdated or non-official source files from release --&gt;
+    &lt;!-- This pattern is used by the 'source-dist' task to copy the source files included
+         in the source distribution--&gt;
+    &lt;patternset id="sources.exclude"&gt;
+        &lt;exclude name="**/connector/**"/&gt;
+        &lt;exclude name="**/jca/**"/&gt;
+        &lt;exclude name="tools/**/reversedb/**"/&gt;
+        &lt;exclude name="tools/**/reversedb2/**"/&gt;
+        &lt;exclude name="tools/**/swing/**"/&gt;
+    &lt;/patternset&gt;
+    &lt;!-- *******************************************************************************
--&gt;
+    &lt;!-- *******************************************************************************
--&gt;
+
     &lt;path id="compilation-classpath"&gt;
         &lt;pathelement path="${build.dest}"/&gt;
         &lt;pathelement path="${build.desttest}"/&gt;
@@ -108,21 +135,6 @@
 				&lt;/not&gt;
 			&lt;/condition&gt;
 		&lt;/fail&gt;
-		&lt;fail message="Please download the JDO 1.0.1 reference implementation from http://jcp.org/aboutJava/communityprocess/final/jsr012/index2.html
and copy the jdo.jar, jdori.jar and jdori-enhancer.jar contained in the reference implementation
binary archive, into OJB's lib directory."&gt;
-	        &lt;condition&gt;
-	          	&lt;not&gt;
-	                &lt;and&gt;
-	                	&lt;!-- We're checking for a class that is not available in JDO 1.0.0 --&gt;
-		            	&lt;available classname="javax.jdo.JDOObjectNotFoundException"
-		                       	   classpathref="compilation-classpath"/&gt;
-	                  	&lt;available classname="com.sun.jdori.enhancer.Main"
-	                  			   classpathref="compilation-classpath"/&gt;
-	                 	&lt;available classname="com.sun.jdori.FieldManager"
-	                 			   classpathref="compilation-classpath"/&gt;
-	                &lt;/and&gt;
-	          	&lt;/not&gt;
-	        &lt;/condition&gt;
-		&lt;/fail&gt;
 		&lt;fail message="In order to compile OJB with JDK 1.2 you need to download cglib from
http://cglib.sourceforge.net and put the jar into OJB's lib folder."&gt;
 	        &lt;condition&gt;
 	          	&lt;and&gt;
@@ -191,18 +203,25 @@
         &lt;mkdir dir="${build.desttools}"/&gt;
 		&lt;mkdir dir="${build.destjca}"/&gt;
         &lt;mkdir dir="${dist}"/&gt;
+        &lt;!-- Exclude outdated/discontinued sources --&gt;
         &lt;copy todir="${build.src}"&gt;
-            &lt;fileset dir="${src.java}"/&gt;
+            &lt;fileset dir="${src.java}"&gt;
+                &lt;patternset refid="build.exclude"/&gt;
+            &lt;/fileset&gt;
         &lt;/copy&gt;
         &lt;copy todir="${build.srctest}"&gt;
-            &lt;fileset dir="${src.test}"/&gt;
+            &lt;fileset dir="${src.test}"&gt;
+                &lt;patternset refid="build.exclude"/&gt;
+            &lt;/fileset&gt;
         &lt;/copy&gt;
         &lt;copy todir="${build.srctools}"&gt;
-            &lt;fileset dir="${src.tools}"/&gt;
+            &lt;fileset dir="${src.tools}"&gt;
+                &lt;patternset refid="build.exclude"/&gt;
+            &lt;/fileset&gt;
         &lt;/copy&gt;
-		&lt;copy todir="${build.srcjca}"&gt;
-			&lt;fileset dir="${src.jca}"/&gt;
-		&lt;/copy&gt;
+		&lt;!--&lt;copy todir="${build.srcjca}"&gt;--&gt;
+			&lt;!--&lt;fileset dir="${src.jca}"/&gt;--&gt;
+		&lt;!--&lt;/copy&gt;--&gt;
     &lt;/target&gt;
 
     &lt;!-- ================================================================== --&gt;
@@ -270,16 +289,45 @@
                debug="on" debuglevel="source,lines,vars" deprecation="${deprecation}"&gt;
             &lt;classpath refid="compilation-classpath" /&gt;
         &lt;/javac&gt;
+        &lt;!--&lt;javac srcdir="${build.srcjca}" destdir="${build.destjca}" excludes="${excludes}"--&gt;
+			   &lt;!--debug="on" deprecation="${deprecation}"&gt;--&gt;
+			&lt;!--&lt;classpath refid="compilation-classpath" /&gt;--&gt;
+		&lt;!--&lt;/javac&gt;--&gt;
     &lt;/target&gt;
 
     &lt;!-- include OJB JDORI implementation --&gt;
     &lt;target name="with-jdori" depends="prepare"
             description="Compile OJB JDORI"&gt;
-		&lt;copy todir="${build.src}"&gt;
+        &lt;fail message="Please download the JDO 1.0.1 reference implementation from http://jcp.org/aboutJava/communityprocess/final/jsr012/index2.html
and copy the jdo.jar, jdori.jar and jdori-enhancer.jar contained in the reference implementation
binary archive, into OJB's lib directory."&gt;
+	        &lt;condition&gt;
+	          	&lt;not&gt;
+	                &lt;and&gt;
+	                	&lt;!-- We're checking for a class that is not available in JDO 1.0.0 --&gt;
+		            	&lt;available classname="javax.jdo.JDOObjectNotFoundException"
+		                       	   classpathref="compilation-classpath"/&gt;
+	                  	&lt;available classname="com.sun.jdori.enhancer.Main"
+	                  			   classpathref="compilation-classpath"/&gt;
+	                 	&lt;available classname="com.sun.jdori.FieldManager"
+	                 			   classpathref="compilation-classpath"/&gt;
+	                &lt;/and&gt;
+	          	&lt;/not&gt;
+	        &lt;/condition&gt;
+		&lt;/fail&gt;
+        &lt;copy todir="${build.src}"&gt;
             &lt;fileset dir="${src.dir}/jdori"/&gt;
        	&lt;/copy&gt;
     &lt;/target&gt;
 
+    &lt;!-- include OJB OTM-API implementation --&gt;
+    &lt;target name="with-otm" depends="prepare"
+            description="Compile OJB with OTM-API"&gt;
+		&lt;copy todir="${build.src}"&gt;
+            &lt;fileset dir="${src.dir}"&gt;
+                &lt;include name="**/ojb/otm/**"/&gt;
+            &lt;/fileset&gt;
+           &lt;/copy&gt;
+    &lt;/target&gt;
+
     &lt;!-- ================================================================== --&gt;
     &lt;!-- cleanup, preprocessing, compile and building                       --&gt;
     &lt;!-- of oql parser and documentation                                    --&gt;
@@ -304,10 +352,10 @@
                debug="off" deprecation="off" optimize="on"&gt;
             &lt;classpath refid="compilation-classpath"/&gt;
         &lt;/javac&gt;
-		&lt;javac srcdir="${build.srcjca}" destdir="${build.destjca}" excludes="${excludes}"
-			   debug="on" deprecation="${deprecation}"&gt;
-			&lt;classpath refid="compilation-classpath" /&gt;
-		&lt;/javac&gt;
+		&lt;!--&lt;javac srcdir="${build.srcjca}" destdir="${build.destjca}" excludes="${excludes}"--&gt;
+			   &lt;!--debug="on" deprecation="${deprecation}"&gt;--&gt;
+			&lt;!--&lt;classpath refid="compilation-classpath" /&gt;--&gt;
+		&lt;!--&lt;/javac&gt;--&gt;
     &lt;/target&gt;
 
     &lt;!-- ================================================================== --&gt;
@@ -338,12 +386,6 @@
 		&lt;delete dir="${build.test}" verbose="false"/&gt;
         &lt;mkdir dir="${build.test}"/&gt;
         &lt;mkdir dir="${build.test}/ojb"/&gt;
-        &lt;echo message="Preparing properties for database: ${dbmsName}"/&gt;
-        &lt;echo message=" --&gt; jdbcLevel: ${jdbcLevel}"/&gt;
-        &lt;echo message=" --&gt; jdbcRuntimeDriver: ${jdbcRuntimeDriver}"/&gt;
-        &lt;echo message=" --&gt; urlProtocol: ${urlProtocol}"/&gt;
-        &lt;echo message=" --&gt; urlSubprotocol: ${urlSubprotocol}"/&gt;
-        &lt;echo message=" --&gt; urlDbalias: ${urlDbalias}"/&gt;
         &lt;copy todir="${build.test}/ojb"&gt;
             &lt;filterset&gt;
                 &lt;filter token="JCD_ALIAS" value="${jcdAlias}" /&gt;
@@ -424,46 +466,22 @@
             description="prepare testdb using DdlUtils"
             depends="prepare, prepare-repository"
             unless="use-torque"&gt;
-        &lt;taskdef name="ddl2Database"
-                 classname="org.apache.ddlutils.task.DdlToDatabaseTask"
-                 classpathref="runtime-classpath"/&gt;
-        &lt;taskdef name="ojbData"
-                 classname="org.apache.ojb.broker.ant.RepositoryDataTask"
-                 classpathref="runtime-classpath"/&gt;
-  
-        &lt;copy todir="${build.test}"&gt;
-            &lt;fileset dir="${src.dir}/schema" includes="*.xml,*.dtd"/&gt;
-            &lt;filterset&gt;
-                &lt;filter token="DATABASE_DEFAULT" value="${project}" /&gt;
-            &lt;/filterset&gt;
-        &lt;/copy&gt;
-        &lt;!-- If the database profile didn't specify that the database needs a shutdown,
we won't do so --&gt; 
-        &lt;property name="ddlutils.shutdownDatabase" value="false"/&gt;
-        &lt;ddl2Database usedelimitedsqlidentifiers="false"
-                      shutdowndatabase="${ddlutils.shutdownDatabase}"&gt;
-            &lt;database driverclassname="${torque.database.driver}"
-                      url="${torque.database.createUrl}"
-                      username="${torque.database.user}"
-                      password="${torque.database.password}"/&gt;
-            &lt;fileset dir="${build.test}"
-                     includes="*schema.xml"/&gt;
-
-            &lt;createdatabase failonerror="false"/&gt;
-            &lt;writeschemasqltofile alterdatabase="false" outputfile="${build.test}/ojbtest-schema.sql"/&gt;
-            &lt;writeschematodatabase alterdatabase="false"/&gt;
-        &lt;/ddl2Database&gt;
-        &lt;ojbData usedelimitedsqlidentifiers="false"
-                 shutdowndatabase="${ddlutils.shutdownDatabase}"
-                 ojbpropertiesfile="${build.test}/ojb/OJB.properties" &gt;
-            &lt;database driverclassname="${torque.database.driver}"
-                      url="${torque.database.createUrl}"
-                      username="${torque.database.user}"
-                      password="${torque.database.password}"/&gt;
-            &lt;fileset dir="${build.test}"
-                     includes="*schema.xml"/&gt;
-            &lt;writedatatodatabase datafile="${build.test}/ojbtest-data-new.xml"/&gt; 
-        &lt;/ojbData&gt; 
-    &lt;/target&gt; 
+
+        &lt;ant dir="."
+             antfile="build-ddlutils.xml"
+             target="create-db" inheritrefs="true"&gt;
+            &lt;reference refid="runtime-classpath"/&gt;
+            &lt;property name="target.dir" value="${build.test}"/&gt;
+            &lt;property name="schema.src.dir" value="${src.dir}/schema"/&gt;
+            &lt;property name="schema.target.dir" value="${build.test}"/&gt;
+            &lt;property name="project.name" value="${torque.project}"/&gt;
+            &lt;property name="database.driver" value="${torque.database.driver}"/&gt;
+            &lt;property name="database.url" value="${torque.database.createUrl}"/&gt;
+            &lt;property name="database.user" value="${torque.database.user}"/&gt;
+            &lt;property name="database.password" value="${torque.database.password}"/&gt;
+            &lt;property name="ojb.properties.file" value="${build.test}/ojb"/&gt;
+        &lt;/ant&gt;
+    &lt;/target&gt;
  
     &lt;!-- ================================================================== --&gt;
     &lt;!-- dump testdb using torque                                        --&gt;
@@ -658,19 +676,22 @@
     &lt;target name="ojb-blank" depends="init,jar-debug"
             description="Build a sample project"&gt;
         &lt;property name="build.ojb-blank" value="${build.dir}/ojb-blank"/&gt;
+        &lt;property name="ojb-blank.src.dir" value="${build.ojb-blank}/src"/&gt;
+        &lt;property name="ojb-blank.sample.dir" value="${ojb-blank.src.dir}/sample"/&gt;
 
         &lt;delete file="${dist}/ojb-blank.jar" failonerror="false"/&gt;
         &lt;delete dir="${build.ojb-blank}" verbose="false" failonerror="false"/&gt;
         &lt;mkdir dir="${build.ojb-blank}"/&gt;
-        &lt;mkdir dir="${build.ojb-blank}/src"/&gt;
-        &lt;mkdir dir="${build.ojb-blank}/src/java"/&gt;
-        &lt;mkdir dir="${build.ojb-blank}/src/schema"/&gt;
-        &lt;mkdir dir="${build.ojb-blank}/src/resources"/&gt;
-        &lt;mkdir dir="${build.ojb-blank}/src/test"/&gt;
+        &lt;mkdir dir="${ojb-blank.src.dir}"/&gt;
+        &lt;mkdir dir="${ojb-blank.src.dir}/java"/&gt;
+        &lt;mkdir dir="${ojb-blank.src.dir}/schema"/&gt;
+        &lt;mkdir dir="${ojb-blank.src.dir}/resources"/&gt;
+        &lt;mkdir dir="${ojb-blank.src.dir}/test"/&gt;
+        &lt;mkdir dir="${ojb-blank.sample.dir}"/&gt;
         &lt;mkdir dir="${build.ojb-blank}/lib"/&gt;
 
         &lt;copy file="${dist}/${archive}.jar" todir="${build.ojb-blank}/lib"/&gt;
-        &lt;copy todir="${build.ojb-blank}/src/resources"&gt;
+        &lt;copy todir="${ojb-blank.src.dir}/resources"&gt;
             &lt;fileset dir="${config.dir}"
             	     excludes="${ojb-blank.resource.excludes}"/&gt;
             &lt;filterset&gt;
@@ -687,23 +708,67 @@
             &lt;/filterset&gt;
         &lt;/copy&gt;
 
-        &lt;copy todir="${build.ojb-blank}/src/schema"&gt;
+        &lt;copy todir="${ojb-blank.src.dir}/schema"&gt;
             &lt;fileset dir="${source}/schema"&gt;
                 &lt;include name="ojbcore-schema.xml"/&gt;
             &lt;/fileset&gt;
         &lt;/copy&gt;
-        &lt;copy file="build-torque.xml" todir="${build.ojb-blank}/src/schema"/&gt;
+        &lt;copy file="build-torque.xml" todir="${build.ojb-blank}"/&gt;
+        &lt;copy file="build-ddlutils.xml" todir="${build.ojb-blank}"/&gt;
 
         &lt;copy todir="${build.ojb-blank}/lib"&gt;
             &lt;fileset dir="${lib}"
             	     includes="${ojb-blank.lib.includes}"/&gt;
         &lt;/copy&gt;
 
+        &lt;copy todir="${ojb-blank.sample.dir}"&gt;
+            &lt;fileset dir="${source}/xdoclet/sample"&gt;
+                &lt;include name="**/*.java"/&gt;
+            &lt;/fileset&gt;
+        &lt;/copy&gt;
+
         &lt;jar jarfile="${dist}/ojb-blank.jar"
              basedir="${build.dir}"
              includes="ojb-blank/**"/&gt;
     &lt;/target&gt;
 
+    &lt;!-- =================================================================== --&gt;
+    &lt;!-- Run an complex sample using OJB's xdoclet module and the current DB --&gt;
+    &lt;!-- =================================================================== --&gt;
+    &lt;!-- TODO: FIX this! This target cause an error --&gt;
+    &lt;target name="ojb-blank-sample-run" depends="ojb-blank"
+            description="Run a complex sample using OJB's xdoclet module"&gt;
+
+        &lt;property name="sample.test.dir" value="${build.dir}/ojb-blank-sample-test"/&gt;
+        &lt;property name="sample.test.base" value="${sample.test.dir}/ojb-blank"/&gt;
+        &lt;property name="sample.test.lib" value="${sample.test.base}/lib"/&gt;
+
+        &lt;echo message="* ${sample.test.dir}: unjar ojb-blank to test dir *"/&gt;
+        &lt;sleep seconds="1"/&gt;
+        &lt;delete dir="${sample.test.dir}"/&gt;
+        &lt;unjar src="${dist}/ojb-blank.jar" dest="${sample.test.dir}"/&gt;
+        &lt;copy todir="${sample.test.lib}"&gt;
+            &lt;fileset dir="${lib}" includes="junit*.jar"/&gt;
+        &lt;/copy&gt;
+
+        &lt;!--&lt;echo message="* ${sample.test.base}: Execute ojb-blank sample project
build target *"/&gt;--&gt;
+        &lt;!--&lt;sleep seconds="1"/&gt;--&gt;
+        &lt;!--&lt;ant antfile="${sample.test.base}/build.xml"--&gt;
+             &lt;!--inheritall="false"--&gt;
+             &lt;!--dir="${sample.test.base}"--&gt;
+             &lt;!--target="sample-build"&gt;--&gt;
+        &lt;!--&lt;/ant&gt;--&gt;
+
+        &lt;echo message="* ${sample.test.base}: Execute ojb-blank sample project test class
*"/&gt;
+        &lt;sleep seconds="1"/&gt;
+        &lt;ant antfile="${sample.test.base}/build.xml"
+             inheritall="false"
+             inheritrefs="false"
+             dir="${sample.test.base}"
+             target="sample-run"&gt;
+        &lt;/ant&gt;
+    &lt;/target&gt;
+
     &lt;!-- ================================================================== --&gt;
     &lt;!-- Build quickstart samples using hsqldb                              --&gt;
     &lt;!-- ================================================================== --&gt;
@@ -1067,61 +1132,70 @@
     &lt;!-- ================================================================== --&gt;
     &lt;!-- Build the source distribution                                      --&gt;
     &lt;!-- ================================================================== --&gt;
-    &lt;target name="source" depends="prepare"
+    &lt;target name="source" depends="prepare,jar"
             description="Builds the ojb source distribution in the dist directory."&gt;
-        &lt;delete file="${dist}/${archive}-src.tgz"/&gt;
-        &lt;delete file="${dist}/${archive}-src.zip"/&gt;
         &lt;delete dir="${build.dir}/${archive}"/&gt;
         &lt;mkdir dir="${build.dir}/${archive}"/&gt;
 
-        &lt;mkdir dir="${build.dir}/${archive}/bin"/&gt;
-        &lt;copy todir="${build.dir}/${archive}/bin"&gt;
-            &lt;fileset dir="${bin}"/&gt;
+        &lt;copy todir="${build.dir}/${archive}"&gt;
+            &lt;fileset dir="." includes="*.sh,*.bat,*.xml,*.html,*.txt,*.properties,LICENSE,NOTICE"/&gt;
         &lt;/copy&gt;
 
-        &lt;mkdir dir="${build.dir}/${archive}/src"/&gt;
-        &lt;copy todir="${build.dir}/${archive}/src"&gt;
-            &lt;fileset dir="${source}"/&gt;
-        &lt;/copy&gt;
+        &lt;!--&lt;mkdir dir="${build.dir}/${archive}/contrib"/&gt;--&gt;
+        &lt;!--&lt;copy todir="${build.dir}/${archive}/contrib"&gt;--&gt;
+            &lt;!--&lt;fileset dir="contrib"/&gt;--&gt;
+        &lt;!--&lt;/copy&gt;--&gt;
 
         &lt;mkdir dir="${build.dir}/${archive}/lib"/&gt;
         &lt;copy todir="${build.dir}/${archive}/lib"&gt;
-            &lt;fileset dir="${lib}"&gt;
-              &lt;include name="*.jar"/&gt;
-              &lt;exclude name="jdo.jar"/&gt;
-              &lt;exclude name="jdori.jar"/&gt;
-              &lt;exclude name="jdori-enhancer.jar"/&gt;
-              &lt;exclude name="ejb.jar"/&gt;
-              &lt;exclude name="servlet.jar"/&gt;
-              &lt;exclude name="jta-spec1_0_1.jar"/&gt;
-	      	  &lt;exclude name="j2ee.jar"/&gt;
-	          &lt;exclude name="jndi.jar"/&gt;
-	          &lt;exclude name="proxy.jar"/&gt;
-	          &lt;exclude name="db2java.jar"/&gt;
-	          &lt;exclude name="db2jcc.jar"/&gt;
+            &lt;fileset dir="${lib}" includes="${source-dist.lib.includes}"&gt;
+              &lt;exclude name="*jdo*.jar"/&gt;
             &lt;/fileset&gt;
         &lt;/copy&gt;
 
-        &lt;mkdir dir="${build.dir}/${archive}/contrib"/&gt;
-
         &lt;mkdir dir="${build.dir}/${archive}/profile"/&gt;
         &lt;copy todir="${build.dir}/${archive}/profile"&gt;
             &lt;fileset dir="profile"/&gt;
         &lt;/copy&gt;
 
-        &lt;copy todir="${build.dir}/${archive}"&gt;
-            &lt;fileset dir="." includes="*.sh,*.bat,*.xml,*.html,*.txt,*.properties,LICENSE,NOTICE"/&gt;
+        &lt;mkdir dir="${build.dir}/${archive}/samples"/&gt;
+        &lt;copy todir="${build.dir}/${archive}/samples"&gt;
+            &lt;fileset dir="samples"/&gt;
+        &lt;/copy&gt;
+
+        &lt;mkdir dir="${build.dir}/${archive}/src"/&gt;
+        &lt;copy todir="${build.dir}/${archive}/src"&gt;
+            &lt;fileset dir="${source}"&gt;
+                &lt;patternset refid="sources.exclude"/&gt;
+            &lt;/fileset&gt;
+        &lt;/copy&gt;
+
+        &lt;mkdir dir="${build.dir}/${archive}/doc"/&gt;
+        &lt;copy todir="${build.dir}/${archive}/doc"&gt;
+            &lt;fileset dir="${doc}"&gt;
+                &lt;exclude name="**/*.pdf"/&gt;
+            &lt;/fileset&gt;
         &lt;/copy&gt;
+
+        &lt;mkdir dir="${build.dir}/${archive}/dist"/&gt;
+        &lt;copy todir="${build.dir}/${archive}/dist"&gt;
+            &lt;fileset dir="dist"&gt;
+                &lt;include name="${archive}.jar"/&gt;
+            &lt;/fileset&gt;
+        &lt;/copy&gt;
+
         &lt;chmod dir="${build.dir}/${archive}" perm="ugo+rwx" includes="*.sh"/&gt;
 
         &lt;tar includes="${archive}/**"
              basedir="${build.dir}"
              tarfile="${dist}/${archive}-src.tar"/&gt;
+        &lt;delete file="${dist}/${archive}-src.tgz"/&gt;
         &lt;gzip src="${dist}/${archive}-src.tar"
               zipfile="${dist}/${archive}-src.tgz"/&gt;
         &lt;delete file="${dist}/${archive}-src.tar"/&gt;
 
-        &lt;zip zipfile="${dist}/${archive}-src.zip"
+        &lt;delete file="${dist}/${archive}-src.zip"/&gt;
+        &lt;zip level="9" zipfile="${dist}/${archive}-src.zip"
              basedir="${build.dir}"
              includes="${archive}/**"/&gt;
     &lt;/target&gt;
@@ -1138,7 +1212,7 @@
     &lt;!-- and documentation                                                  --&gt;
     &lt;!-- ================================================================== --&gt;
     &lt;target name="release"
-            depends="clean,with-jdori,jar,source,docs,tarball,website,contrib,ojb-blank,sample-jars,webapp-sample,checksums"
+            depends="clean,jar,source,docs,tarball,website,contrib,ojb-blank,sample-jars,webapp-sample,checksums"
             description="Cleans and builds all release archives." /&gt;
 
     &lt;!-- ================================================================== --&gt;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615716 - in /db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank: build.properties build.xml</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128022344.EE01B1A983A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128022344-EE01B1A983A@eris-apache-org%3e</id>
<updated>2008-01-28T02:23:44Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:23:44 2008
New Revision: 615716

URL: http://svn.apache.org/viewvc?rev=615716&amp;view=rev
Log:
improve the ojb-blank tasks, add tasks to build and run a complex example

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.properties
    db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.xml

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.properties
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.properties?rev=615716&amp;r1=615715&amp;r2=615716&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.properties (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.properties Sun Jan 27 18:23:44 2008
@@ -23,7 +23,7 @@
 # rather than to a generic HSQLDB instance.
 #
 jcdAlias=default
-databaseName=ojb_blank
+databaseName=ojb
 databaseUser=sa
 databasePassword=
 
@@ -34,11 +34,12 @@
 urlProtocol=jdbc
 urlSubprotocol=hsqldb
 urlDbalias=database/${databaseName}
+ddlutils.shutdownDatabase = true
 
 # For MySQL this would look like:
 #dbmsName=MySQL
 #jdbcLevel=3.0
-#jdbcRuntimeDriver=com.mysql.jdbc.Driver
+#jdbcRuntimeDriver=org.gjt.mm.mysql.Driver
 #urlProtocol=jdbc
 #urlSubprotocol=mysql
 #urlDbalias=//localhost/${databaseName}
@@ -55,6 +56,7 @@
 # For Hsqldb we have to mangle the path so that we can invoke Torque in the base
 # directory but the database is created in the ${build.dir}/database folder
 torque.database.createUrl=${urlProtocol}:${urlSubprotocol}:${build.dir}/database/${databaseName}
+#torque.database.createUrl=${urlProtocol}:${urlSubprotocol}:${urlDbalias}
 
 # This specifies the url that Torque uses to access the existing database
 #

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.xml?rev=615716&amp;r1=615715&amp;r2=615716&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/ojb-blank/build.xml Sun Jan 27 18:23:44 2008
@@ -70,7 +70,7 @@
         &lt;tstamp/&gt;
         &lt;mkdir dir="${build.dir}"/&gt;
         &lt;mkdir dir="${build.dir}/classes"/&gt;
-        &lt;javac srcdir="${source.java.dir}" destdir="${build.dir}/classes"&gt;
+        &lt;javac debug="true" srcdir="${source.java.dir}" destdir="${build.dir}/classes"&gt;
             &lt;classpath refid="compile-classpath"/&gt;
         &lt;/javac&gt;
     &lt;/target&gt;
@@ -154,9 +154,9 @@
     &lt;!-- ================================================================== --&gt;
     &lt;!-- Sets the database up using the generated project schema            --&gt;
     &lt;!-- ================================================================== --&gt;
-    &lt;target name="setup-db" depends="xdoclet"&gt;
+    &lt;target name="setup-db-torque" depends="xdoclet"&gt;
         &lt;property name="torque.buildFile"
-                  value="${source.schema.dir}/build-torque.xml"/&gt;
+                  value="build-torque.xml"/&gt;
         &lt;property name="torque.project"
                   value="${databaseName}"/&gt;
         &lt;property name="torque.schema.dir"
@@ -197,7 +197,28 @@
              target="insert-sql"&gt;
         &lt;/ant&gt;
     &lt;/target&gt;
-    
+
+    &lt;!-- ================================================================== --&gt;
+    &lt;!-- Sets the database up using the generated project schema            --&gt;
+    &lt;!-- ================================================================== --&gt;
+    &lt;target name="setup-db" depends="xdoclet"&gt;
+
+        &lt;ant dir="."
+             antfile="build-ddlutils.xml"
+             target="create-db" inheritrefs="true"&gt;
+            &lt;reference refid="compile-build-classpath" torefid="runtime-classpath"/&gt;
+            &lt;property name="project.name" value="${databaseName}"/&gt;
+            &lt;property name="schema.src.dir" value="${source.schema.dir}"/&gt;
+            &lt;property name="target.dir" value="${build.dir}/database"/&gt;
+            &lt;property name="schema.target.dir" value="${build.dir}/database"/&gt;
+            &lt;property name="database.driver" value="${jdbcRuntimeDriver}"/&gt;
+            &lt;property name="database.url" value="${torque.database.createUrl}"/&gt;
+            &lt;property name="database.user" value="${databaseUser}"/&gt;
+            &lt;property name="database.password" value="${databasePassword}"/&gt;
+            &lt;property name="ojb.properties.file" value="${build.dir}"/&gt;
+        &lt;/ant&gt;
+    &lt;/target&gt;
+
     &lt;!-- ================================================================== --&gt;
     &lt;!-- Cleans the project                                                 --&gt;
     &lt;!-- ================================================================== --&gt;
@@ -240,5 +261,37 @@
             &lt;arg line="-v -f -d ${build.dir}/classes ${source.java.dir}/org/apache/ojb/tutorial5/Product.jdo
${build.dir}/classes/org/apache/ojb/tutorial5/Product.class"/&gt;
         &lt;/java&gt;
     &lt;/target&gt;
-&lt;/project&gt;
 
+    &lt;!-- ======================================================================== --&gt;
+    &lt;!-- Build and Run the SampleTest class (an example for OJB's xdoclet module) --&gt;
+    &lt;!-- ======================================================================== --&gt;
+    &lt;target name="sample-build" depends=""&gt;
+        &lt;property name="source.main.class" value="org.apache.ojb.sample.SampleTest"/&gt;
+        &lt;copy todir="${source.java.dir}" overwrite="false"&gt;
+            &lt;fileset dir="${basedir}/src/sample/java"&gt;
+                &lt;include name="**/*.java"/&gt;
+            &lt;/fileset&gt;
+        &lt;/copy&gt;
+        &lt;echo message="* Build sample project files *"/&gt;
+        &lt;sleep seconds="1"/&gt;
+        &lt;antcall target="build" inheritrefs="true"&gt;
+            &lt;reference refid="compile-build-classpath" torefid="runtime-classpath"/&gt;
+        &lt;/antcall&gt;
+        &lt;echo message="* Setup database for sample project *"/&gt;
+        &lt;sleep seconds="1"/&gt;
+        &lt;antcall target="setup-db" inheritrefs="true"&gt;
+            &lt;reference refid="compile-build-classpath" torefid="runtime-classpath"/&gt;
+        &lt;/antcall&gt;
+    &lt;/target&gt;
+    
+    &lt;target name="sample-run" depends=""&gt;
+        &lt;property name="source.main.class" value="org.apache.ojb.sample.SampleTest"/&gt;
+        &lt;echo message="* Run JUnit test for sample project: ${source.main.class} *"/&gt;
+        &lt;sleep seconds="1"/&gt;
+        &lt;java dir="${build.dir}"
+              classname="${source.main.class}"
+              fork="true"
+              failonerror="true" classpathref="compile-build-classpath"
+        /&gt;
+    &lt;/target&gt;
+&lt;/project&gt;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615714 - /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcMetadataUtils.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128022154.8818E1A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128022154-8818E1A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:21:54Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:21:53 2008
New Revision: 615714

URL: http://svn.apache.org/viewvc?rev=615714&amp;view=rev
Log:
fix javadoc

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcMetadataUtils.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcMetadataUtils.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcMetadataUtils.java?rev=615714&amp;r1=615713&amp;r2=615714&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcMetadataUtils.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcMetadataUtils.java
Sun Jan 27 18:21:53 2008
@@ -35,14 +35,11 @@
  */
 public class JdbcMetadataUtils
 {
-    /** The name of the property returned by the {@link #splitConnectionUrl(String)} method
-        that contains the protocol */ 
+    /** The name of the property contains the protocol */
     public static final String PROPERTY_PROTOCOL    = "protocol";
-    /** The name of the property returned by the {@link #splitConnectionUrl(String)} method
-        that contains the sub protocol */ 
+    /** The name of the property that contains the sub protocol */
     public static final String PROPERTY_SUBPROTOCOL = "subprotocol";
-    /** The name of the property returned by the {@link #splitConnectionUrl(String)} method
-        that contains the database alias (the actual database url) */ 
+    /** The name of the property that contains the database alias (the actual database url)
*/ 
     public static final String PROPERTY_DBALIAS     = "dbAlias";
 
     /** Identifier for the DB2 platform */



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615713 - /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerIdentityImpl.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128022119.6D8161A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128022119-6D8161A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:21:19Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:21:18 2008
New Revision: 615713

URL: http://svn.apache.org/viewvc?rev=615713&amp;view=rev
Log:
fix, use OJB's internal logging classes

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerIdentityImpl.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerIdentityImpl.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerIdentityImpl.java?rev=615713&amp;r1=615712&amp;r2=615713&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerIdentityImpl.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerIdentityImpl.java
Sun Jan 27 18:21:18 2008
@@ -25,10 +25,10 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.commons.lang.BooleanUtils;
 import org.apache.ojb.broker.PersistenceBroker;
+import org.apache.ojb.broker.util.logging.Logger;
+import org.apache.ojb.broker.util.logging.LoggerFactory;
 import org.apache.ojb.broker.accesslayer.JdbcAccess;
 import org.apache.ojb.broker.metadata.SequenceDescriptor;
 import org.apache.ojb.broker.metadata.ClassDescriptor;
@@ -87,7 +87,7 @@
  */
 public class SequenceManagerIdentityImpl extends AbstractSequenceManager
 {
-    private Log log = LogFactory.getLog(SequenceManagerIdentityImpl.class);
+    private Logger log = LoggerFactory.getLogger(SequenceManagerIdentityImpl.class);
 
     public static final String PROPERTY_USE_GENERATED_KEYS = "seq.generatedKeys";
     private boolean useGeneratedKeys;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615712 - in /db/ojb/branches/OJB_1_0_RELEASE/src/schema: ojbtest-data-new.xml ojbtest-schema.xml</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128022004.D3BF71A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128022004-D3BF71A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:20:04Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:20:03 2008
New Revision: 615712

URL: http://svn.apache.org/viewvc?rev=615712&amp;view=rev
Log:
comment out the OTM stuff and fix resultant issues

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-data-new.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-schema.xml

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-data-new.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-data-new.xml?rev=615712&amp;r1=615711&amp;r2=615712&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-data-new.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-data-new.xml Sun Jan 27 18:20:03 2008
@@ -127,16 +127,16 @@
     &lt;OrderPosition id="2" order_id="1" article_id="100"/&gt;
     &lt;OrderPosition id="3" order_id="1" article_id="200"/&gt;
 
-    &lt;Person-1 id="1" firstname="tom" lastname="tom"/&gt;
-    &lt;Person-1 id="2" firstname="bob" lastname="bob"/&gt;
-    &lt;Person-1 id="3" firstname="albert" lastname="albert"/&gt;
-    &lt;Person-1 id="4" firstname="bertrand" lastname="bertrand"/&gt;
-    &lt;Person-1 id="5" firstname="cindy" lastname="cindy"/&gt;
-    &lt;Person-1 id="6" firstname="dorothy" lastname="dorothy"/&gt;
-    &lt;Person-1 id="7" firstname="eugen" lastname="eugen"/&gt;
-    &lt;Person-1 id="8" firstname="frido" lastname="frido"/&gt;
-    &lt;Person-1 id="9" firstname="guido" lastname="guido"/&gt;
-    &lt;Person-1 id="10" firstname="hank%" lastname="hank"/&gt;
+    &lt;Person id="1" firstname="tom" lastname="tom"/&gt;
+    &lt;Person id="2" firstname="bob" lastname="bob"/&gt;
+    &lt;Person id="3" firstname="albert" lastname="albert"/&gt;
+    &lt;Person id="4" firstname="bertrand" lastname="bertrand"/&gt;
+    &lt;Person id="5" firstname="cindy" lastname="cindy"/&gt;
+    &lt;Person id="6" firstname="dorothy" lastname="dorothy"/&gt;
+    &lt;Person id="7" firstname="eugen" lastname="eugen"/&gt;
+    &lt;Person id="8" firstname="frido" lastname="frido"/&gt;
+    &lt;Person id="9" firstname="guido" lastname="guido"/&gt;
+    &lt;Person id="10" firstname="hank%" lastname="hank"/&gt;
 
     &lt;Project id="1" title="OJB" description="OJB" /&gt;
     &lt;Project id="2" title="SODA" description="SODA" /&gt;

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-schema.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-schema.xml?rev=615712&amp;r1=615711&amp;r2=615712&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-schema.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/schema/ojbtest-schema.xml Sun Jan 27 18:20:03 2008
@@ -1654,82 +1654,82 @@
     &lt;!--      Classes for OTM dependent objects test       --&gt;
     &lt;!-- ************************************************* --&gt;
 
-  &lt;table name="OTM_ADDRESS"
-         javaName="OtmAddress"&gt;
-    &lt;column name="ID" required="true" primaryKey="true" type="INTEGER"
-            javaName="id"/&gt;
-    &lt;column name="COUNTRY" type="VARCHAR" size="60"
-            javaName="country"/&gt;
-    &lt;column name="CITY" type="VARCHAR" size="60"
-            javaName="city"/&gt;
-    &lt;column name="STREET" type="VARCHAR" size="60"
-            javaName="street"/&gt;
-  &lt;/table&gt;
-
-  &lt;table name="OTM_PERSON"
-         javaName="OtmPerson"&gt;
-    &lt;column name="ID" required="true" primaryKey="true" type="INTEGER"
-            javaName="id"/&gt;
-    &lt;column name="FIRSTNAME" type="VARCHAR" size="60"
-            javaName="firstname"/&gt;
-    &lt;column name="LASTNAME" type="VARCHAR" size="60"
-            javaName="lastname"/&gt;
-    &lt;column name="MAIN_ADDRESS_ID" type="INTEGER" required="false"
-            javaName="mainAddressId"/&gt;
-    &lt;foreign-key foreignTable="OTM_ADDRESS"&gt;
-      &lt;reference local="MAIN_ADDRESS_ID" foreign="ID"/&gt;
-    &lt;/foreign-key&gt;
-  &lt;/table&gt;
-
-  &lt;table name="OTM_ADDRESS_DESC"
-         javaName="OtmAddressDesc"&gt;
-    &lt;column name="ID" required="true" primaryKey="true" type="INTEGER"
-            javaName="id"/&gt;
-    &lt;column name="DESCRIPTION" type="VARCHAR" size="60"
-            javaName="desc"/&gt;
-    &lt;column name="PERSON_ID" type="INTEGER" required="true"
-            javaName="personId" /&gt;
-    &lt;column name="ADDRESS_ID" type="INTEGER" required="true"
-            javaName="addressId"/&gt;
-    &lt;foreign-key foreignTable="OTM_ADDRESS"&gt;
-      &lt;reference local="ADDRESS_ID" foreign="ID"/&gt;
-    &lt;/foreign-key&gt;
-    &lt;foreign-key foreignTable="OTM_PERSON"&gt;
-      &lt;reference local="PERSON_ID" foreign="ID"/&gt;
-    &lt;/foreign-key&gt;
-  &lt;/table&gt;
-
-  &lt;table name="OTM_PERSON2"
-         javaName="OtmPerson2"&gt;
-    &lt;column name="ID" required="true" primaryKey="true" type="INTEGER"
-            javaName="id"/&gt;
-    &lt;column name="NAME" type="VARCHAR" size="60"
-            javaName="name"/&gt;
-  &lt;/table&gt;
-
-  &lt;table name="OTM_PERSON3"
-         javaName="OtmPerson2"&gt;
-    &lt;column name="ID" required="true" primaryKey="true" type="INTEGER"
-            javaName="id"/&gt;
-    &lt;column name="NAME" type="VARCHAR" size="60"
-            javaName="name"/&gt;
-  &lt;/table&gt;
-
-  &lt;table name="OTM_ADDRESS2"
-         javaName="OtmAddress2"&gt;
-    &lt;column name="ID" required="true" primaryKey="true" type="INTEGER"
-            javaName="id"/&gt;
-    &lt;column name="PERSON_ID" type="INTEGER" required="true"
-            javaName="personId" /&gt;
-  &lt;/table&gt;
-
-  &lt;table name="OTM_DEBITOR"
-         javaName="OtmDebitor"&gt;
-    &lt;column name="ID" required="true" primaryKey="true" type="INTEGER"
-            javaName="id"/&gt;
-    &lt;column name="PERSON_ID" type="INTEGER" required="true"
-            javaName="personId" /&gt;
-  &lt;/table&gt;
+  &lt;!--&lt;table name="OTM_ADDRESS"--&gt;
+         &lt;!--javaName="OtmAddress"&gt;--&gt;
+    &lt;!--&lt;column name="ID" required="true" primaryKey="true" type="INTEGER"--&gt;
+            &lt;!--javaName="id"/&gt;--&gt;
+    &lt;!--&lt;column name="COUNTRY" type="VARCHAR" size="60"--&gt;
+            &lt;!--javaName="country"/&gt;--&gt;
+    &lt;!--&lt;column name="CITY" type="VARCHAR" size="60"--&gt;
+            &lt;!--javaName="city"/&gt;--&gt;
+    &lt;!--&lt;column name="STREET" type="VARCHAR" size="60"--&gt;
+            &lt;!--javaName="street"/&gt;--&gt;
+  &lt;!--&lt;/table&gt;--&gt;
+
+  &lt;!--&lt;table name="OTM_PERSON"--&gt;
+         &lt;!--javaName="OtmPerson"&gt;--&gt;
+    &lt;!--&lt;column name="ID" required="true" primaryKey="true" type="INTEGER"--&gt;
+            &lt;!--javaName="id"/&gt;--&gt;
+    &lt;!--&lt;column name="FIRSTNAME" type="VARCHAR" size="60"--&gt;
+            &lt;!--javaName="firstname"/&gt;--&gt;
+    &lt;!--&lt;column name="LASTNAME" type="VARCHAR" size="60"--&gt;
+            &lt;!--javaName="lastname"/&gt;--&gt;
+    &lt;!--&lt;column name="MAIN_ADDRESS_ID" type="INTEGER" required="false"--&gt;
+            &lt;!--javaName="mainAddressId"/&gt;--&gt;
+    &lt;!--&lt;foreign-key foreignTable="OTM_ADDRESS"&gt;--&gt;
+      &lt;!--&lt;reference local="MAIN_ADDRESS_ID" foreign="ID"/&gt;--&gt;
+    &lt;!--&lt;/foreign-key&gt;--&gt;
+  &lt;!--&lt;/table&gt;--&gt;
+
+  &lt;!--&lt;table name="OTM_ADDRESS_DESC"--&gt;
+         &lt;!--javaName="OtmAddressDesc"&gt;--&gt;
+    &lt;!--&lt;column name="ID" required="true" primaryKey="true" type="INTEGER"--&gt;
+            &lt;!--javaName="id"/&gt;--&gt;
+    &lt;!--&lt;column name="DESCRIPTION" type="VARCHAR" size="60"--&gt;
+            &lt;!--javaName="desc"/&gt;--&gt;
+    &lt;!--&lt;column name="PERSON_ID" type="INTEGER" required="true"--&gt;
+            &lt;!--javaName="personId" /&gt;--&gt;
+    &lt;!--&lt;column name="ADDRESS_ID" type="INTEGER" required="true"--&gt;
+            &lt;!--javaName="addressId"/&gt;--&gt;
+    &lt;!--&lt;foreign-key foreignTable="OTM_ADDRESS"&gt;--&gt;
+      &lt;!--&lt;reference local="ADDRESS_ID" foreign="ID"/&gt;--&gt;
+    &lt;!--&lt;/foreign-key&gt;--&gt;
+    &lt;!--&lt;foreign-key foreignTable="OTM_PERSON"&gt;--&gt;
+      &lt;!--&lt;reference local="PERSON_ID" foreign="ID"/&gt;--&gt;
+    &lt;!--&lt;/foreign-key&gt;--&gt;
+  &lt;!--&lt;/table&gt;--&gt;
+
+  &lt;!--&lt;table name="OTM_PERSON2"--&gt;
+         &lt;!--javaName="OtmPerson2"&gt;--&gt;
+    &lt;!--&lt;column name="ID" required="true" primaryKey="true" type="INTEGER"--&gt;
+            &lt;!--javaName="id"/&gt;--&gt;
+    &lt;!--&lt;column name="NAME" type="VARCHAR" size="60"--&gt;
+            &lt;!--javaName="name"/&gt;--&gt;
+  &lt;!--&lt;/table&gt;--&gt;
+
+  &lt;!--&lt;table name="OTM_PERSON3"--&gt;
+         &lt;!--javaName="OtmPerson2"&gt;--&gt;
+    &lt;!--&lt;column name="ID" required="true" primaryKey="true" type="INTEGER"--&gt;
+            &lt;!--javaName="id"/&gt;--&gt;
+    &lt;!--&lt;column name="NAME" type="VARCHAR" size="60"--&gt;
+            &lt;!--javaName="name"/&gt;--&gt;
+  &lt;!--&lt;/table&gt;--&gt;
+
+  &lt;!--&lt;table name="OTM_ADDRESS2"--&gt;
+         &lt;!--javaName="OtmAddress2"&gt;--&gt;
+    &lt;!--&lt;column name="ID" required="true" primaryKey="true" type="INTEGER"--&gt;
+            &lt;!--javaName="id"/&gt;--&gt;
+    &lt;!--&lt;column name="PERSON_ID" type="INTEGER" required="true"--&gt;
+            &lt;!--javaName="personId" /&gt;--&gt;
+  &lt;!--&lt;/table&gt;--&gt;
+
+  &lt;!--&lt;table name="OTM_DEBITOR"--&gt;
+         &lt;!--javaName="OtmDebitor"&gt;--&gt;
+    &lt;!--&lt;column name="ID" required="true" primaryKey="true" type="INTEGER"--&gt;
+            &lt;!--javaName="id"/&gt;--&gt;
+    &lt;!--&lt;column name="PERSON_ID" type="INTEGER" required="true"--&gt;
+            &lt;!--javaName="personId" /&gt;--&gt;
+  &lt;!--&lt;/table&gt;--&gt;
 
     &lt;!-- ************************************************* --&gt;
     &lt;!--      Classes for path tests				       --&gt;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615711 - /db/ojb/branches/OJB_1_0_RELEASE/src/config/repository_database.xml</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128021624.CFF841A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128021624-CFF841A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:16:24Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:16:23 2008
New Revision: 615711

URL: http://svn.apache.org/viewvc?rev=615711&amp;view=rev
Log:
fix property setting

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/config/repository_database.xml

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/config/repository_database.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/config/repository_database.xml?rev=615711&amp;r1=615710&amp;r2=615711&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/config/repository_database.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/config/repository_database.xml Sun Jan 27 18:16:23
2008
@@ -122,7 +122,7 @@
 
             &lt;!-- ObjectCacheDefaultImpl attributes --&gt;
             &lt;attribute attribute-name="timeout" attribute-value="900"/&gt;
-            &lt;attribute attribute-name="autoSync" attribute-value="true"/&gt;
+            &lt;attribute attribute-name="autoSync" attribute-value="false"/&gt;
             &lt;attribute attribute-name="cachingKeyType" attribute-value="0"/&gt;
             &lt;attribute attribute-name="useSoftReferences" attribute-value="true"/&gt;
         &lt;/object-cache&gt;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615710 - /db/ojb/branches/OJB_1_0_RELEASE/lib/</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128021522.3FA5A1A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128021522-3FA5A1A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:15:22Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:15:20 2008
New Revision: 615710

URL: http://svn.apache.org/viewvc?rev=615710&amp;view=rev
Log:
update 'J2EE' specific jars

Added:
    db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-ejb_2.1_spec-1.0.1.jar   (with props)
    db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar   (with props)
    db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-servlet_2.4_spec-1.0.1.jar   (with props)
Removed:
    db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-spec-j2ee-1.4-rc2.jar
    db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-spec-jta-1.0.1B-rc2.jar
    db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-spec-servlet-2.4-rc2.jar

Added: db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-ejb_2.1_spec-1.0.1.jar
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-ejb_2.1_spec-1.0.1.jar?rev=615710&amp;view=auto
==============================================================================
Binary file - no diff available.

Propchange: db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-ejb_2.1_spec-1.0.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar?rev=615710&amp;view=auto
==============================================================================
Binary file - no diff available.

Propchange: db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-servlet_2.4_spec-1.0.1.jar
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-servlet_2.4_spec-1.0.1.jar?rev=615710&amp;view=auto
==============================================================================
Binary file - no diff available.

Propchange: db/ojb/branches/OJB_1_0_RELEASE/lib/geronimo-servlet_2.4_spec-1.0.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615709 - /db/ojb/branches/OJB_1_0_RELEASE/build-ddlutils.xml</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128021246.A48561A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128021246-A48561A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:12:46Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:12:46 2008
New Revision: 615709

URL: http://svn.apache.org/viewvc?rev=615709&amp;view=rev
Log:
DdlUtil ant tasks

Added:
    db/ojb/branches/OJB_1_0_RELEASE/build-ddlutils.xml

Added: db/ojb/branches/OJB_1_0_RELEASE/build-ddlutils.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/build-ddlutils.xml?rev=615709&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/build-ddlutils.xml (added)
+++ db/ojb/branches/OJB_1_0_RELEASE/build-ddlutils.xml Sun Jan 27 18:12:46 2008
@@ -0,0 +1,139 @@
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+
+&lt;!--
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+--&gt;
+
+&lt;project name="DDLUtils OJB tasks" default="create-db" basedir="."&gt;
+    &lt;description&gt;
+        DDLUtils ant task file
+    &lt;/description&gt;
+
+    &lt;!-- Allow any user specific values to override the defaults --&gt;
+	&lt;property environment="env"/&gt;
+	&lt;property file="${user.home}/build.properties" /&gt;
+    &lt;property file="${basedir}/build.properties"/&gt;
+
+    &lt;property name="ojb.properties.file" value="${basedir}"/&gt;
+    &lt;property name="lib.dir" value=""/&gt;
+    &lt;property name="target.dir" value="${basedir}/ojb"/&gt;
+    &lt;property name="schema.src.dir" value="${basedir}"/&gt;
+    &lt;property name="schema.target.dir" value="${basedir}"/&gt;
+    &lt;property name="project.name" value=""/&gt;
+    &lt;property name="database.driver" value=""/&gt;
+    &lt;property name="database.url" value=""/&gt;
+    &lt;property name="database.user" value=""/&gt;
+    &lt;property name="database.password" value=""/&gt;
+    &lt;!-- If the database profile didn't specify that the database needs a shutdown, we
won't do so --&gt;
+    &lt;property name="ddlutils.shutdownDatabase" value="false"/&gt;
+
+    &lt;path id="runtime-classpath"&gt;
+        &lt;fileset dir="${lib.dir}"&gt;
+            &lt;include name="**/*.jar"/&gt;
+            &lt;include name="**/*.zip"/&gt;
+        &lt;/fileset&gt;
+    &lt;/path&gt;
+
+    &lt;!-- =============================================================================
--&gt;
+    &lt;!-- create database tables based on xml files named '...schema.xml'             
 --&gt;
+    &lt;!-- =============================================================================
--&gt;
+    &lt;target name="setup-tables"
+            description="setup the DB tables"
+            depends="copy-xml"&gt;
+
+        &lt;taskdef name="ddlToDatabase"
+                 classname="org.apache.ddlutils.task.DdlToDatabaseTask"
+                 classpathref="runtime-classpath"/&gt;
+
+        &lt;ddlToDatabase usedelimitedsqlidentifiers="false"
+                      shutdowndatabase="${ddlutils.shutdownDatabase}"&gt;
+            &lt;database driverclassname="${database.driver}"
+                      url="${database.url}"
+                      username="${database.user}"
+                      password="${database.password}"/&gt;
+            &lt;fileset dir="${target.dir}"
+                     includes="*schema.xml"/&gt;
+
+            &lt;createdatabase failonerror="false"/&gt;
+            &lt;writeschemasqltofile alterdatabase="false" outputfile="${target.dir}/ojbtest-schema.sql"/&gt;
+            &lt;writeschematodatabase alterdatabase="false"/&gt;
+
+        &lt;/ddlToDatabase&gt;
+    &lt;/target&gt;
+
+    &lt;!-- =============================================================================
--&gt;
+    &lt;!-- insert the test data based on torque/ddlutils data xml files                
 --&gt;
+    &lt;!-- =============================================================================
--&gt;
+    &lt;target name="insert-data"
+            description="insert xml based data to DB"
+            depends="copy-xml"&gt;
+
+        &lt;taskdef name="dataToDatabase"
+             classname="org.apache.ojb.broker.ant.RepositoryDataTask"
+             classpathref="runtime-classpath"/&gt;
+
+        &lt;dataToDatabase  usedelimitedsqlidentifiers="false"
+                 shutdowndatabase="${ddlutils.shutdownDatabase}"
+                 ojbpropertiesfile="${ojb.properties.file}" &gt;
+            &lt;database driverclassname="${database.driver}"
+                      url="${database.url}"
+                      username="${database.user}"
+                      password="${database.password}"/&gt;
+            &lt;fileset dir="${target.dir}"
+                     includes="*schema.xml"/&gt;
+            &lt;writedatatodatabase datafile="${target.dir}/ojbtest-data-new.xml"/&gt;
+        &lt;/dataToDatabase&gt;
+    &lt;/target&gt;
+
+    &lt;target name="copy-xml"
+            description="copy the xml (sql schema, data) files to target dir"
+            depends=""&gt;
+        &lt;mkdir dir="${schema.target.dir}"/&gt;
+        &lt;copy todir="${schema.target.dir}"&gt;
+            &lt;fileset dir="${schema.src.dir}" includes="*.xml,*.dtd"/&gt;
+            &lt;filterset&gt;
+                &lt;filter token="DATABASE_DEFAULT" value="${project.name}" /&gt;
+            &lt;/filterset&gt;
+        &lt;/copy&gt;
+    &lt;/target&gt;
+
+    &lt;!-- ================================================================== --&gt;
+    &lt;!-- create and prepare the database using DdlUtils                     --&gt;
+    &lt;!-- ================================================================== --&gt;
+    &lt;target name="create-db"
+            description="create and prepare the database"
+            depends=""&gt;
+
+        &lt;echo message="Used Database properties:"/&gt;
+        &lt;echo message=" --&gt; project.name: ${project.name}"/&gt;
+        &lt;echo message=" --&gt; database.driver: ${database.driver}"/&gt;
+        &lt;echo message=" --&gt; database.url: ${database.url}"/&gt;
+        &lt;echo message=" --&gt; database.user: ${database.user}"/&gt;
+        &lt;echo message=" --&gt; ddlutils.shutdownDatabase: ${ddlutils.shutdownDatabase}"/&gt;
+
+        &lt;antcall target="setup-tables" inheritrefs="true"&gt;
+            &lt;reference refid="runtime-classpath"/&gt;
+        &lt;/antcall&gt;
+        &lt;antcall target="insert-data" inheritrefs="true"&gt;
+            &lt;reference refid="runtime-classpath"/&gt;
+        &lt;/antcall&gt;
+
+    &lt;/target&gt;
+&lt;/project&gt;
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615708 - /db/ojb/branches/OJB_1_0_RELEASE/src/etc/readme.html</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128021213.AAFC81A9838@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128021213-AAFC81A9838@eris-apache-org%3e</id>
<updated>2008-01-28T02:12:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:12:10 2008
New Revision: 615708

URL: http://svn.apache.org/viewvc?rev=615708&amp;view=rev
Log:
readme file for OJB source distribution

Added:
    db/ojb/branches/OJB_1_0_RELEASE/src/etc/readme.html

Added: db/ojb/branches/OJB_1_0_RELEASE/src/etc/readme.html
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/etc/readme.html?rev=615708&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/etc/readme.html (added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/etc/readme.html Sun Jan 27 18:12:10 2008
@@ -0,0 +1,87 @@
+&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"&gt;
+&lt;html&gt;
+&lt;head&gt;
+    &lt;title&gt;OJB Readme&lt;/title&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;h1&gt;Installation Source Distribution&lt;/h1&gt;
+
+&lt;p&gt;
+    Unzip the source distribution file.
+    &lt;br/&gt;
+    After you unpacked the jar, you'll get the following directory layout:
+&lt;/p&gt;
+&lt;pre&gt;
+/db-ojb-xx
+    /dist
+    /doc
+    /lib
+    /profiles
+    /samples
+    /src
+        ...
+        /config
+        ...
+        /java
+        ...
+        /test
+...
+build.properties
+build.xml
+...
+release-notes.txt
+&lt;/pre&gt;
+&lt;p&gt;
+    For all fixes/changes/new features please check the &lt;code&gt;release-notes.txt&lt;/code&gt;
file 
+&lt;/p&gt;
+&lt;p&gt;
+    The &lt;code&gt;dist&lt;/code&gt; directory contains a precompiled OJB jar file (backup
this file before running
+    any of the supported ant tasks below if you want to keep it) and is used as
+    target directory of ant tasks described below.
+&lt;/p&gt;
+&lt;p&gt;
+    The &lt;code&gt;doc&lt;/code&gt; directory contains the full html documentation of this
OJB version.
+&lt;/p&gt;
+&lt;p&gt;
+    The &lt;code&gt;src/config&lt;/code&gt; directory contains all OJB related configuration
files.
+&lt;/p&gt;
+&lt;h3&gt;
+    Important ANT Tasks
+&lt;/h3&gt;
+&lt;p&gt;
+    Needless to say, check for proper &lt;a href="http://ant.apache.org"&gt;ANT&lt;/a&gt;
(1.7 or higher) installation
+    before using the ant tasks.
+&lt;/p&gt;
+&lt;ul&gt;
+    &lt;li&gt;
+        &lt;code&gt;ant clean&lt;/code&gt;
+        &lt;br/&gt;
+        Removes all files in the &lt;code&gt;dist&lt;/code&gt; directory and clean up all
temporary files/directories.
+    &lt;/li&gt;
+    &lt;li&gt;
+        &lt;code&gt;ant jar&lt;/code&gt;
+        &lt;br/&gt;
+        Build the OJB jar files.
+    &lt;/li&gt;
+    &lt;li&gt;
+        &lt;code&gt;ant ojb-blank&lt;/code&gt;
+        &lt;br/&gt;
+        Creates the OJB-blank project - a blank project template. A good starting point to
setup your first project.
+        More details please see &lt;em&gt;Getting Started&lt;/em&gt; section in the documentation.
+    &lt;/li&gt;
+    &lt;li&gt;
+        &lt;code&gt;ant junit&lt;/code&gt;
+        &lt;br/&gt;
+        Runs the OJB test-suite.
+    &lt;/li&gt;
+    &lt;li&gt;
+        &lt;code&gt;ant perf-test&lt;/code&gt;
+        &lt;br/&gt;
+        Runs the OJB performance/stress test.
+    &lt;/li&gt;
+
+&lt;/ul&gt;
+
+
+&lt;/body&gt;
+&lt;/html&gt;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615707 - /db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/dependencies.xml</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128021128.C06211A983A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128021128-C06211A983A@eris-apache-org%3e</id>
<updated>2008-01-28T02:11:28Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:11:27 2008
New Revision: 615707

URL: http://svn.apache.org/viewvc?rev=615707&amp;view=rev
Log:
initial version, OJB dependencies

Added:
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/dependencies.xml

Added: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/dependencies.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/dependencies.xml?rev=615707&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/dependencies.xml
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/dependencies.xml
Sun Jan 27 18:11:27 2008
@@ -0,0 +1,365 @@
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;!--
+  
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */--&gt;
+&lt;!-- @version xml: index.xml 429395 2006-08-07 19:10:42 +0200 (Mo, 07 Aug 2006) arminw
$ --&gt;
+&lt;!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd"&gt;
+
+&lt;document&gt;
+    &lt;header&gt;
+        &lt;title&gt;Dependencies&lt;/title&gt;
+    &lt;/header&gt;
+    &lt;body&gt;
+        &lt;anchor id="jars"/&gt;
+        &lt;section&gt;
+            &lt;title&gt;Dependencies&lt;/title&gt;
+            &lt;p&gt;
+                The following is a list of dependencies for this project.
+                These dependencies are required to compile the &lt;em&gt;full&lt;/em&gt;
source code - to
+                run the application or/and run provided tools not all libraries are required.
+            &lt;/p&gt;
+            &lt;ul&gt;
+                &lt;li&gt;
+                    The first column specifies the &lt;em&gt;.jar file&lt;/em&gt; or the
package name.
+                &lt;/li&gt;
+                &lt;li&gt;
+                    The second column show whether or not it is a runtime dependency.
+                &lt;/li&gt;
+                &lt;li&gt;
+                    The third column show whether or not it is a dependency required
+                    to run a tool (&lt;a href="site:xdoclet-module"&gt;OJB's xdoclet module&lt;/a&gt;,
+                    &lt;a href="site:forward-tool"&gt;forward-mapping&lt;/a&gt; or to run
ant task on the
+                    &lt;em&gt;build.xml&lt;/em&gt; file) provided by OJB.
+                &lt;/li&gt;
+            &lt;/ul&gt;
+            &lt;table&gt;
+                &lt;tr&gt;
+                    &lt;th&gt;jar/package&lt;/th&gt;
+                    &lt;th&gt;Runtime&lt;/th&gt;
+                    &lt;th&gt;Tool&lt;/th&gt;
+                    &lt;th&gt;Comment&lt;/th&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;*ejb*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Only used by ejb-examples (and a deprecated class in OJB core).
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;*jta*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by the ODMG-api implementation and in managed environments.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;*servlet*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by a specific &lt;a href="site:lock-manager"&gt;LockManager&lt;/a&gt;
implementation.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;ant-*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by mapping tools provided by OJB.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;antlr*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by the ODMG-api implementation.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;cglib*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Depends on proxy configuration settings (lazy loading).
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;commons-beanutils*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;
+                        -
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;commons-collection*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        -
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;commons-dbcp*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        -
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;commons-digester*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by classes provide DdlUtils support.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;commons-lang*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;
+                        -
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;commons-logging*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Depends on the used/configured &lt;a href="site:logging"&gt;logging
API&lt;/a&gt;.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;commons-pool*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        -
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;commons-tx*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by a specific &lt;a href="site:lock-manager"&gt;LockManager&lt;/a&gt;
implementation.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;ddlutils*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;
+                         &lt;a href="site:xdoclet-module"&gt;OJB's xdoclet module&lt;/a&gt;
use DdlUtils to create DB tables.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;hsqldb*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Only used by OJB's &lt;a href="site:test-suite"&gt;test-suite&lt;/a&gt;.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;jakarta-regexp*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by a deprecated/outdated tool (reversedb).
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;jcs*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by a specific &lt;a href="site:object-cache"&gt;ObjectCache&lt;/a&gt;
implementation.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;jdo*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Only needed to run/test the JDO 1.0 prototype implementation.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;junit*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Only used by OJB's &lt;a href="site:test-suite"&gt;test-suite&lt;/a&gt;.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;log4j*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Depends on the used/configured &lt;a href="site:logging"&gt;logging
API&lt;/a&gt;.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;p6spy*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;
+                        Tool to trace sql-statements - more details can be in &lt;a href="site:faq/trace-sql"&gt;the
FAQ&lt;/a&gt;.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;torque-gen*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;
+                        Deprecated. Was replaced by DdlUtils.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;xdoclet*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by &lt;a href="site:xdoclet-module"&gt;OJB's xdoclet module&lt;/a&gt;.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;xjavadoc*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;+&lt;/td&gt;
+                    &lt;td&gt;
+                        Used by &lt;a href="site:xdoclet-module"&gt;OJB's xdoclet module&lt;/a&gt;.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;xercesImpl*.jar, xml-api*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;
+                        The &lt;a href="ext:xml-apache/xerces"&gt;Xerces&lt;/a&gt; XML parser.
Since most newer
+                        JDK's ship with an XML parser, it is likely that you do not need
these files.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;xalan*.jar&lt;/code&gt;
+                    &lt;/td&gt;
+                    &lt;td&gt;-&lt;/td&gt;
+                    &lt;td&gt;(+)&lt;/td&gt;
+                    &lt;td&gt;
+                        &lt;a href="ext:xml-apache/xalan"&gt;Xalan&lt;/a&gt; is used to generate
the unit test report,
+                        so you'll probably don't need this.
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+            &lt;/table&gt;
+            &lt;p&gt;
+                Symbols:
+            &lt;/p&gt;
+            &lt;p&gt;
+                +&amp;nbsp;&amp;nbsp;&amp;nbsp;==&gt; yes&lt;br/&gt;
+                (+)&amp;nbsp;==&gt; yes, depends on configuration&lt;br/&gt;
+                -&amp;nbsp;&amp;nbsp;&amp;nbsp;==&gt; nope&lt;br/&gt;
+            &lt;/p&gt;
+            &lt;p&gt;
+                &amp;nbsp;
+            &lt;/p&gt;
+            &lt;table&gt;
+                &lt;tr&gt;
+                    &lt;th&gt;
+                        Sub-Dependencies needed by the jars above:
+                    &lt;/th&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;th&gt;jar/package&lt;/th&gt;
+                &lt;/tr&gt;
+                &lt;tr&gt;
+                    &lt;td&gt;
+                        &lt;code&gt;
+                            asm*.jar, commons-betwixt*.jar, concurrent*.jar, jakarta-oro*.jar,
+                            velocity*.jar, village*.jar, xalan*.jar
+                        &lt;/code&gt;
+                    &lt;/td&gt;
+                &lt;/tr&gt;
+            &lt;/table&gt;
+        &lt;/section&gt;
+        
+    &lt;/body&gt;
+&lt;/document&gt;
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615704 - /db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/repository.xml</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128021027.94FC21A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128021027-94FC21A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:10:27Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:10:26 2008
New Revision: 615704

URL: http://svn.apache.org/viewvc?rev=615704&amp;view=rev
Log:
comment out the OTM link

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/repository.xml

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/repository.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/repository.xml?rev=615704&amp;r1=615703&amp;r2=615704&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/repository.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/repository.xml Sun Jan 27 18:10:26
2008
@@ -86,7 +86,7 @@
     --&gt;
     &amp;junit;
     &amp;junit_odmg;
-    &amp;junit_otm;
+    &lt;!--&amp;junit_otm;--&gt;
     &amp;junit_ref;
     &amp;junit_meta_seq;
     &amp;junit_cache;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615703 - /db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/performance/PerfMain.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128020905.09CA01A983A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128020905-09CA01A983A@eris-apache-org%3e</id>
<updated>2008-01-28T02:09:04Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:09:03 2008
New Revision: 615703

URL: http://svn.apache.org/viewvc?rev=615703&amp;view=rev
Log:
minor improvement

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/performance/PerfMain.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/performance/PerfMain.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/performance/PerfMain.java?rev=615703&amp;r1=615702&amp;r2=615703&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/performance/PerfMain.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/performance/PerfMain.java Sun
Jan 27 18:09:03 2008
@@ -729,10 +729,10 @@
             if(printer != null)
             {
                 printer.println();
-                printer.println("## Undefined value (&lt;=0), can't calculate percent --&gt;
use approximated value 0.1 to fix ##");
+                printer.println("## Undefined value (&lt;=0), can't calculate percent --&gt;
use approximated value 0.05 to fix ##");
                 printer.println();
             }
-            value = 0.1d;
+            value = 0.05d;
         }
         return Math.round((value / calibration) * 100);
     }
@@ -746,10 +746,10 @@
             {
                 name = name != null ? "'" + name + "'" : "test";
                 printer.println();
-                printer.println("## Can't calculate minimum " + name + " period, minimum
value is &lt;=0 --&gt; use approximated value 0.1 as minimum ##");
+                printer.println("## Can't calculate minimum " + name + " period, minimum
value is &lt;=0 --&gt; use approximated value 0.05 as minimum ##");
                 printer.println();
             }
-            result = 0.1d;
+            result = 0.05d;
         }
         return result;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615702 - /db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/compare/OJBPerfTest.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128020827.ECE331A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128020827-ECE331A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:08:27Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:08:13 2008
New Revision: 615702

URL: http://svn.apache.org/viewvc?rev=615702&amp;view=rev
Log:
comment out the OTM test implementation

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/compare/OJBPerfTest.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/compare/OJBPerfTest.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/compare/OJBPerfTest.java?rev=615702&amp;r1=615701&amp;r2=615702&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/compare/OJBPerfTest.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/compare/OJBPerfTest.java Sun Jan
27 18:08:13 2008
@@ -6,10 +6,8 @@
 import java.sql.Statement;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.List;
 
-import org.apache.ojb.broker.Identity;
 import org.apache.ojb.broker.PersistenceBroker;
 import org.apache.ojb.broker.PersistenceBrokerFactory;
 import org.apache.ojb.broker.TestHelper;
@@ -20,10 +18,6 @@
 import org.apache.ojb.broker.util.ObjectModification;
 import org.apache.ojb.odmg.OJB;
 import org.apache.ojb.odmg.TransactionExt;
-import org.apache.ojb.otm.OTMConnection;
-import org.apache.ojb.otm.OTMKit;
-import org.apache.ojb.otm.kit.SimpleKit;
-import org.apache.ojb.otm.lock.LockType;
 import org.apache.ojb.performance.PerfArticle;
 import org.apache.ojb.performance.PerfArticleImpl;
 import org.apache.ojb.performance.PerfTest;
@@ -31,8 +25,8 @@
 import org.odmg.Implementation;
 import org.odmg.ODMGException;
 import org.odmg.OQLQuery;
-import org.odmg.Transaction;
 import org.odmg.QueryException;
+import org.odmg.Transaction;
 
 /**
  * Multi-threaded performance test implementation classes for testing
@@ -643,164 +637,164 @@
     // =====================================================================================
     // Inner class, test handle using OTM-api
     // =====================================================================================
-    public static class OTMPerfTest extends PerfTest
-    {
-        private OTMKit _kit;
-
-        private OTMConnection _conn;
-
-        private org.apache.ojb.otm.core.Transaction _tx;
-
-        public void init()
-        {
-            _kit = SimpleKit.getInstance();
-            _conn = _kit.acquireConnection(PersistenceBrokerFactory.getDefaultKey());
-        }
-
-        public void tearDown() throws Exception
-        {
-            if ((_tx != null) &amp;&amp; _tx.isInProgress())
-            {
-                _tx.rollback();
-            }
-            _conn.close();
-        }
-
-        public String testName()
-        {
-            return "OTM";
-        }
-
-        public int articleCount()
-        {
-            Criteria c = new Criteria();
-            Query q = new QueryByCriteria(PerfArticleImpl.class, c);
-            int count = 0;
-            try
-            {
-                PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
-                count = broker.getCount(q);
-                broker.close();
-            }
-            catch (Exception e)
-            {
-                e.printStackTrace();
-            }
-            return count;
-        }
-
-        /**
-         * A resource cumbering insert-method implementation,
-         * this was used to test implementation.
-         */
-        public void insertNewArticlesStress(PerfArticle[] arr) throws Exception
-        {
-            for (int i = 0; i &lt; arr.length; i++)
-            {
-                _tx = _kit.getTransaction(_conn);
-                _tx.begin();
-                _conn.makePersistent(arr[i]);
-                _tx.commit();
-            }
-        }
-
-        /**
-         * A performance optimized insert-method implementation,
-         * used to test performance.
-         */
-        public void insertNewArticles(PerfArticle[] arr) throws Exception
-        {
-            _tx = _kit.getTransaction(_conn);
-            _tx.begin();
-            for (int i = 0; i &lt; arr.length; i++)
-            {
-                _conn.makePersistent(arr[i]);
-            }
-            _tx.commit();
-        }
-
-        public Collection readArticlesByCursor(String articleName) throws Exception
-        {
-            Criteria c = new Criteria();
-            c.addLike("articleName", articleName);
-            Query q = new QueryByCriteria(PerfArticleImpl.class, c);
-
-            _tx = _kit.getTransaction(_conn);
-            _tx.begin();
-            Collection col = _conn.getCollectionByQuery(q, LockType.NO_LOCK);
-            _tx.commit();
-            return col;
-        }
-
-        public PerfArticle getArticleByIdentity(Long articleId) throws Exception
-        {
-            Criteria c = new Criteria();
-            c.addEqualTo("articleId", articleId);
-            Query q = new QueryByCriteria(PerfArticleImpl.class, c);
-
-            _tx = _kit.getTransaction(_conn);
-            _tx.begin();
-            // the getByIdeneityMethod() needs Identity and this is currently not supported
-            Collection col = _conn.getCollectionByQuery(q, LockType.NO_LOCK);
-            _tx.commit();
-            Iterator it = col.iterator();
-            return it.hasNext() ? (PerfArticle) it.next() : null;
-        }
-
-        public void updateArticles(PerfArticle[] arr) throws Exception
-        {
-            _tx = _kit.getTransaction(_conn);
-            _tx.begin();
-            for (int i = 0; i &lt; arr.length; i++)
-            {
-                Identity oid = _conn.getIdentity(arr[i]);
-                PerfArticle a = (PerfArticle) _conn.getObjectByIdentity(oid, LockType.WRITE_LOCK);
-                a.setArticleName("" + System.currentTimeMillis());
-            }
-            _tx.commit();
-        }
-
-        public void updateArticlesStress(PerfArticle[] arr) throws Exception
-        {
-            for (int i = 0; i &lt; arr.length; i++)
-            {
-                _tx = _kit.getTransaction(_conn);
-                _tx.begin();
-                Identity oid = _conn.getIdentity(arr[i]);
-                PerfArticle a = (PerfArticle) _conn.getObjectByIdentity(oid, LockType.WRITE_LOCK);
-                a.setArticleName("" + System.currentTimeMillis());
-                _tx.commit();
-            }
-        }
-
-        /**
-         * A resource cumbering delete-method implementation,
-         * used to test implementation
-         */
-        public void deleteArticlesStress(PerfArticle[] arr) throws Exception
-        {
-            for (int i = 0; i &lt; arr.length; i++)
-            {
-                _tx = _kit.getTransaction(_conn);
-                _tx.begin();
-                _conn.deletePersistent(arr[i]);
-                _tx.commit();
-            }
-        }
-
-        /**
-         * A performance optimized delete-method implementation,
-         * used to test performance
-         */
-        public void deleteArticles(PerfArticle[] arr) throws Exception
-        {
-            _tx = _kit.getTransaction(_conn);
-            _tx.begin();
-            for (int i = 0; i &lt; arr.length; i++)
-            {
-                _conn.deletePersistent(arr[i]);
-            }
-            _tx.commit();
-        }
-    }
+//    public static class OTMPerfTest extends PerfTest
+//    {
+//        private OTMKit _kit;
+//
+//        private OTMConnection _conn;
+//
+//        private org.apache.ojb.otm.core.Transaction _tx;
+//
+//        public void init()
+//        {
+//            _kit = SimpleKit.getInstance();
+//            _conn = _kit.acquireConnection(PersistenceBrokerFactory.getDefaultKey());
+//        }
+//
+//        public void tearDown() throws Exception
+//        {
+//            if ((_tx != null) &amp;&amp; _tx.isInProgress())
+//            {
+//                _tx.rollback();
+//            }
+//            _conn.close();
+//        }
+//
+//        public String testName()
+//        {
+//            return "OTM";
+//        }
+//
+//        public int articleCount()
+//        {
+//            Criteria c = new Criteria();
+//            Query q = new QueryByCriteria(PerfArticleImpl.class, c);
+//            int count = 0;
+//            try
+//            {
+//                PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
+//                count = broker.getCount(q);
+//                broker.close();
+//            }
+//            catch (Exception e)
+//            {
+//                e.printStackTrace();
+//            }
+//            return count;
+//        }
+//
+//        /**
+//         * A resource cumbering insert-method implementation,
+//         * this was used to test implementation.
+//         */
+//        public void insertNewArticlesStress(PerfArticle[] arr) throws Exception
+//        {
+//            for (int i = 0; i &lt; arr.length; i++)
+//            {
+//                _tx = _kit.getTransaction(_conn);
+//                _tx.begin();
+//                _conn.makePersistent(arr[i]);
+//                _tx.commit();
+//            }
+//        }
+//
+//        /**
+//         * A performance optimized insert-method implementation,
+//         * used to test performance.
+//         */
+//        public void insertNewArticles(PerfArticle[] arr) throws Exception
+//        {
+//            _tx = _kit.getTransaction(_conn);
+//            _tx.begin();
+//            for (int i = 0; i &lt; arr.length; i++)
+//            {
+//                _conn.makePersistent(arr[i]);
+//            }
+//            _tx.commit();
+//        }
+//
+//        public Collection readArticlesByCursor(String articleName) throws Exception
+//        {
+//            Criteria c = new Criteria();
+//            c.addLike("articleName", articleName);
+//            Query q = new QueryByCriteria(PerfArticleImpl.class, c);
+//
+//            _tx = _kit.getTransaction(_conn);
+//            _tx.begin();
+//            Collection col = _conn.getCollectionByQuery(q, LockType.NO_LOCK);
+//            _tx.commit();
+//            return col;
+//        }
+//
+//        public PerfArticle getArticleByIdentity(Long articleId) throws Exception
+//        {
+//            Criteria c = new Criteria();
+//            c.addEqualTo("articleId", articleId);
+//            Query q = new QueryByCriteria(PerfArticleImpl.class, c);
+//
+//            _tx = _kit.getTransaction(_conn);
+//            _tx.begin();
+//            // the getByIdeneityMethod() needs Identity and this is currently not supported
+//            Collection col = _conn.getCollectionByQuery(q, LockType.NO_LOCK);
+//            _tx.commit();
+//            Iterator it = col.iterator();
+//            return it.hasNext() ? (PerfArticle) it.next() : null;
+//        }
+//
+//        public void updateArticles(PerfArticle[] arr) throws Exception
+//        {
+//            _tx = _kit.getTransaction(_conn);
+//            _tx.begin();
+//            for (int i = 0; i &lt; arr.length; i++)
+//            {
+//                Identity oid = _conn.getIdentity(arr[i]);
+//                PerfArticle a = (PerfArticle) _conn.getObjectByIdentity(oid, LockType.WRITE_LOCK);
+//                a.setArticleName("" + System.currentTimeMillis());
+//            }
+//            _tx.commit();
+//        }
+//
+//        public void updateArticlesStress(PerfArticle[] arr) throws Exception
+//        {
+//            for (int i = 0; i &lt; arr.length; i++)
+//            {
+//                _tx = _kit.getTransaction(_conn);
+//                _tx.begin();
+//                Identity oid = _conn.getIdentity(arr[i]);
+//                PerfArticle a = (PerfArticle) _conn.getObjectByIdentity(oid, LockType.WRITE_LOCK);
+//                a.setArticleName("" + System.currentTimeMillis());
+//                _tx.commit();
+//            }
+//        }
+//
+//        /**
+//         * A resource cumbering delete-method implementation,
+//         * used to test implementation
+//         */
+//        public void deleteArticlesStress(PerfArticle[] arr) throws Exception
+//        {
+//            for (int i = 0; i &lt; arr.length; i++)
+//            {
+//                _tx = _kit.getTransaction(_conn);
+//                _tx.begin();
+//                _conn.deletePersistent(arr[i]);
+//                _tx.commit();
+//            }
+//        }
+//
+//        /**
+//         * A performance optimized delete-method implementation,
+//         * used to test performance
+//         */
+//        public void deleteArticles(PerfArticle[] arr) throws Exception
+//        {
+//            _tx = _kit.getTransaction(_conn);
+//            _tx.begin();
+//            for (int i = 0; i &lt; arr.length; i++)
+//            {
+//                _conn.deletePersistent(arr[i]);
+//            }
+//            _tx.commit();
+//        }
+//    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615701 - in /db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample: BasicObject.java Book.java CD.java DVD.java Medium.java ProductGroup.java Review.java SampleTest.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128020601.0D8821A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128020601-0D8821A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:06:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:05:59 2008
New Revision: 615701

URL: http://svn.apache.org/viewvc?rev=615701&amp;view=rev
Log:
improve sample

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java?rev=615701&amp;r1=615700&amp;r2=615701&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
Sun Jan 27 18:05:59 2008
@@ -22,7 +22,7 @@
  */
 
 /**
- * A base class.
+ * A base class for persistence capable objects.
  * 
  * IMPORTANT: Don't declare a 'ojb.class' tag, because this is only a base class
  * and we only need the base fields in the sub-classes (xdoclet shouldn't generate
@@ -30,7 +30,7 @@
  * 
  * @version $Id$
  */
-class BasicObject implements Serializable
+abstract public class BasicObject implements Serializable
 {
     /**
      * @ojb.field autoincrement="ojb" primarykey="true" field-class="direct"

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java?rev=615701&amp;r1=615700&amp;r2=615701&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
Sun Jan 27 18:05:59 2008
@@ -19,7 +19,7 @@
  * under the License.
  */
 
-import java.util.Date;
+import java.util.Calendar;
 
 /**
  * The Book class
@@ -33,7 +33,7 @@
     {
     }
 
-    public Book(String title, Date publicationDate, byte[] cover)
+    public Book(String title, Calendar publicationDate, byte[] cover)
     {
         super(title, publicationDate, cover);
     }

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java?rev=615701&amp;r1=615700&amp;r2=615701&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
Sun Jan 27 18:05:59 2008
@@ -19,7 +19,7 @@
  * under the License.
  */
 
-import java.util.Date;
+import java.util.Calendar;
 
 /**
  * The CD class
@@ -33,7 +33,7 @@
     {
     }
 
-    public CD(String title, Date publicationDate, byte[] cover)
+    public CD(String title, Calendar publicationDate, byte[] cover)
     {
         super(title, publicationDate, cover);
     }

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java?rev=615701&amp;r1=615700&amp;r2=615701&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
Sun Jan 27 18:05:59 2008
@@ -19,7 +19,7 @@
  * under the License.
  */
 
-import java.util.Date;
+import java.util.Calendar;
 
 /**
  * The DVD class
@@ -33,7 +33,7 @@
     {
     }
 
-    public DVD(String title, Date publicationDate, byte[] cover)
+    public DVD(String title, Calendar publicationDate, byte[] cover)
     {
         super(title, publicationDate, cover);
     }

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java?rev=615701&amp;r1=615700&amp;r2=615701&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
Sun Jan 27 18:05:59 2008
@@ -20,7 +20,7 @@
  */
 
 import java.util.ArrayList;
-import java.util.Date;
+import java.util.Calendar;
 import java.util.List;
 
 import org.apache.commons.lang.builder.ToStringBuilder;
@@ -41,9 +41,9 @@
      */
     private String title;
     /**
-     * @ojb.field jdbc-type="TIMESTAMP" conversion="JavaData2SqlTimestamp"
+     * @ojb.field jdbc-type="DATE" conversion="Calendar2Date"
      */
-    private Date publicationDate;
+    private Calendar publicationDate;
     /**
      * @ojb.field jdbc-type="LONGVARBINARY"
      */
@@ -82,10 +82,12 @@
     /**
      * @ojb.collection element-class-ref="org.apache.ojb.sample.Review"
      * foreignkey="fkMedium"
+     * database-foreignkey="false"
      * auto-retrieve="true"
      * auto-update="create" 
      * auto-delete="none" 
      * proxy="true"
+     * orderby="vote=ASC"
      */
     private List reviews;
 
@@ -93,7 +95,7 @@
     {
     }
 
-    public Medium(String title, Date publicationDate, byte[] cover)
+    public Medium(String title, Calendar publicationDate, byte[] cover)
     {
         this.title = title;
         this.publicationDate = publicationDate;
@@ -170,12 +172,12 @@
         this.title = title;
     }
 
-    public Date getPublicationDate()
+    public Calendar getPublicationDate()
     {
         return publicationDate;
     }
 
-    public void setPublicationDate(Date publicationDate)
+    public void setPublicationDate(Calendar publicationDate)
     {
         this.publicationDate = publicationDate;
     }

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java?rev=615701&amp;r1=615700&amp;r2=615701&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
Sun Jan 27 18:05:59 2008
@@ -41,6 +41,7 @@
      * auto-update="create" 
      * auto-delete="none" 
      * proxy="true"
+     * orderby="publicationDate=ASC"
      */
     private List media;
 

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java?rev=615701&amp;r1=615700&amp;r2=615701&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
Sun Jan 27 18:05:59 2008
@@ -19,7 +19,6 @@
  * under the License.
  */
 
-import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
 

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java?rev=615701&amp;r1=615700&amp;r2=615701&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java
Sun Jan 27 18:05:59 2008
@@ -19,13 +19,16 @@
  * under the License.
  */
 
-import java.lang.Object;
-import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.List;
 
 import junit.framework.TestCase;
+import org.apache.ojb.broker.Identity;
 import org.apache.ojb.broker.PersistenceBroker;
 import org.apache.ojb.broker.PersistenceBrokerFactory;
-import org.apache.ojb.broker.platforms.Platform;
+import org.apache.ojb.odmg.ImplementationExt;
+import org.apache.ojb.odmg.OJB;
+import org.odmg.Transaction;
 
 /**
  * This class
@@ -37,22 +40,186 @@
     public PersistenceBroker broker;
     byte[] cover = new byte[]{10,11,12,13,14,15,16,17,18,19,20};
 
-    public void test_A()
+    public void testExampleObjects()
     {
         String name = ojbTestMethodIdentifier();
+        System.out.println("Prepare complex sample object graph");
 
+        // store an complex object graph
+        broker.beginTransaction();
+
+        Book book = new Book(name, new GregorianCalendar(2000, 1, 1), cover);
+        CD cd = new CD(name, new GregorianCalendar(2001, 1, 1), cover);
+        DVD dvd = new DVD(name, new GregorianCalendar(2002, 1, 1), cover);
+        Author author_A = new Author(name, null);
+        Author author_B = new Author(name, null);
         ProductGroup pg = new ProductGroup(name);
-        Book book = new Book(name, new Date(), cover);
-        CD cd = new CD(name, new Date(), cover);
-        DVD dvd = new DVD(name, new Date(), cover);
+        Publisher publisher = new PublisherImpl(name);
+
         pg.addMedium(book);
         pg.addMedium(cd);
         pg.addMedium(dvd);
         Review review_book_1 = new Review(name, new Integer(5), book);
         Review review_book_2 = new Review(name, new Integer(6), book);
-        Review review_book_3 = new Review(name, new Integer(6), book);
-        Review review_dvd_1 = new Review(name, new Integer(6), dvd);
+        Review review_book_3 = new Review(name, new Integer(7), book);
+        Review review_dvd_1 = new Review(name, new Integer(8), dvd);
+        author_A.addMedia(book);
+        author_A.addMedia(cd);
+        author_B.addMedia(dvd);
+        author_A.setAuthorDetail(new AuthorDetail(name));
+        publisher.addAuthor(author_A);
+        publisher.addAuthor(author_B);
+
+        System.out.println("Insert complex sample object graph");
+        broker.store(pg);
+
+        review_dvd_1.setAuthor(author_A);
+        review_book_1.setAuthor(author_B);
+        broker.store(review_dvd_1);
+        broker.store(review_book_1);
+        broker.store(author_A);
+        broker.store(author_B);
+
+        broker.commitTransaction();
+
+        checkResultsInsert(name, pg, author_A, author_B);
+    }
+
+    public void testExampleObjects_2()
+    {
+        String name = ojbTestMethodIdentifier();
+
+        System.out.println("Prepare complex sample object graph");
+        Book book = new Book(name, new GregorianCalendar(2000, 1, 1), cover);
+        CD cd = new CD(name, new GregorianCalendar(2001, 1, 1), cover);
+        DVD dvd = new DVD(name, new GregorianCalendar(2002, 1, 1), cover);
+        Author author_A = new Author(name, null);
+        Author author_B = new Author(name, null);
+        ProductGroup pg = new ProductGroup(name);
+        Publisher publisher = new PublisherImpl(name);
+
+        pg.addMedium(book);
+        pg.addMedium(cd);
+        pg.addMedium(dvd);
+
+        Review review_book_1 = new Review(name, new Integer(5), book);
+        Review review_book_2 = new Review(name, new Integer(6), book);
+        Review review_book_3 = new Review(name, new Integer(7), book);
+        Review review_dvd_1 = new Review(name, new Integer(8), dvd);
+
+        author_A.addMedia(book);
+        author_A.addMedia(cd);
+        author_B.addMedia(dvd);
+        author_A.setAuthorDetail(new AuthorDetail(name));
+
+        publisher.addAuthor(author_A);
+        publisher.addAuthor(author_B);
+
+        review_dvd_1.setAuthor(author_A);
+        review_book_1.setAuthor(author_B);
+
+        // Use inject access to ODMG-api to store the object
+        ImplementationExt impl = OJB.getInstance();
+        Transaction tx = impl.newTransaction(broker, false);
+        tx.begin();
+        System.out.println("Insert complex sample object graph");
+        impl.getDatabase(null).makePersistent(pg);
+        tx.commit();
+
+        checkResultsInsert(name, pg, author_A, author_B);
+    }
+
+    private void checkResultsInsert(String name, ProductGroup pg, Author author_A, Author
author_B)
+    {
+        System.out.println("Check insert result");
+        // clear cache and lookup the persisted object
+        broker.clearCache();
+        Identity oid = broker.serviceIdentity().buildIdentity(ProductGroup.class, pg.getId());
+        ProductGroup new_pg = (ProductGroup) broker.getObjectByIdentity(oid);
 
+        assertEquals(name, new_pg.getName());
+        List media = new_pg.getMedia();
+//        System.out.println("### PG: " + pg.getName());
+//        for(int i = 0; i &lt; media.size(); i++)
+//        {
+//            Medium medium = (Medium) media.get(i);
+//            System.out.println("# entry: " + medium);
+//        }
+        assertEquals(3, media.size());
+        for(int i = 0; i &lt; media.size(); i++)
+        {
+            Medium m = (Medium) media.get(i);
+            assertEquals(new_pg, m.getProductGroup());
+            // we specified order by 'publicationDate'
+            if(i==2)
+            {
+                // Book
+                List reviews = m.getReviews();
+//                System.out.println("List: " + reviews);
+//                for(int j = 0; j &lt; reviews.size(); j++)
+//                {
+//                    Review review = (Review) reviews.get(j);
+//                    System.out.println("Entry: " + review);
+//                }
+                assertEquals(3, reviews.size());
+                for(int j = 0; j &lt; reviews.size(); j++)
+                {
+                    Review r = (Review) reviews.get(j);
+                    // we specified order by 'vote', thus we expect lowest vote first
+                    if(j==0)
+                    {
+                        assertNotNull(r.getAuthor());
+                        assertEquals(author_B.getId(), r.getAuthor().getId());
+                    }
+                    else
+                    {
+                        assertNull(r.getAuthor());
+                    }
+                }
+                List authors = m.getAuthors();
+                assertEquals(1, authors.size());
+                for(int j = 0; j &lt; authors.size(); j++)
+                {
+                    Author a = (Author) authors.get(j);
+                    assertNotNull(a.getAuthorDetail());
+                }
+            }
+            else if(i==1)
+            {
+                // CD
+                assertEquals(0, m.getReviews().size());
+                List authors = m.getAuthors();
+                assertEquals(1, authors.size());
+                for(int j = 0; j &lt; authors.size(); j++)
+                {
+                    Author a = (Author) authors.get(j);
+                    assertNotNull(a.getAuthorDetail());
+                }
+            }
+            else if(i==0)
+            {
+                // DVD
+                List reviews = m.getReviews();
+                assertEquals(1, reviews.size());
+                for(int j = 0; j &lt; reviews.size(); j++)
+                {
+                    Review r = (Review) reviews.get(j);
+                    // we specified order by 'vote', thus we expect
+                    if(j==0)
+                    {
+                        assertNotNull(r.getAuthor());
+                        assertEquals(author_A.getId(), r.getAuthor().getId());
+                    }
+                }
+                List authors = m.getAuthors();
+                assertEquals(1, authors.size());
+                for(int j = 0; j &lt; authors.size(); j++)
+                {
+                    Author a = (Author) authors.get(j);
+                    assertNull(a.getAuthorDetail());
+                }
+            }
+        }
     }
 
     public void setUp() throws Exception



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r615700 - in /db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest: ./ src/documentation/content/xdocs/ src/documentation/content/xdocs/docu/ src/documentation/content/xdocs/docu/guides/ src/documentation/content/xdocs/docu/howtos/</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200801.mbox/%3c20080128020439.C27D01A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20080128020439-C27D01A9832@eris-apache-org%3e</id>
<updated>2008-01-28T02:04:38Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Sun Jan 27 18:04:36 2008
New Revision: 615700

URL: http://svn.apache.org/viewvc?rev=615700&amp;view=rev
Log:
update documentation

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/forrest.properties
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/basic-technique.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/deployment.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/objectcache.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/pb-guide.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/xdoclet-module.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-build-mappings.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-use-spring.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-work-with-clustering.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/forrest.properties
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/forrest.properties?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/forrest.properties (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/forrest.properties Sun Jan 27 18:04:36
2008
@@ -101,7 +101,7 @@
 project.debuglevel=INFO
 
 # Max memory to allocate to Java
-forrest.maxmemory=128m
+forrest.maxmemory=256m
 
 # Any other arguments to pass to the JVM. For example, to run on an X-less
 # server, set to -Djava.awt.headless=true

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml
Sun Jan 27 18:04:36 2008
@@ -38,7 +38,8 @@
 		&lt;p&gt;
     	    This document will guide you through the very first steps of setting up a project
with OJB. To
     	    make this easier, OJB comes with a blank project template called ojb-blank which
you're
-    	    encouraged to use. You can download it &lt;a href="ext:ojb/binaries-version"&gt;here&lt;/a&gt;.
+    	    encouraged to use (by direct download or build by source distribution).
+            You can download it &lt;a href="ext:ojb/binaries-version"&gt;here&lt;/a&gt;.
     	&lt;/p&gt;
     	&lt;p&gt;
     	    For the purpose of this guide, we'll be showing you how to setup the project for
a
@@ -64,7 +65,7 @@
             &lt;p&gt;
                 The ojb-blank project contains all libraries necessary to get running. However,
there may
                 be additional libraries required when you venture deeper into OJB's APIs.
See
-                &lt;a href="site:deployment/additional-jars"&gt;here&lt;/a&gt; for a list
of additional libraries.&lt;br/&gt;
+                &lt;a href="site:dependencies"&gt;here&lt;/a&gt; for a list of additional
libraries.&lt;br/&gt;
                 Most notably, you'll probably want to add the jdbc driver for you database
unless you
                 plan to use the embedded &lt;a href="ext:sourceforge/hsqldb"&gt;Hsqldb database&lt;/a&gt;
for which the
                 ojb-blank project is pre-configured (including all necessary jars).

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml
Sun Jan 27 18:04:36 2008
@@ -1216,65 +1216,98 @@
 
         &lt;anchor id="persistent-field"/&gt;
         &lt;section&gt;
-            &lt;title&gt;Change PersistentField Class&lt;/title&gt;
+            &lt;title&gt;Strategies to persist fields - &lt;code&gt;PersistentField&lt;/code&gt;
class&lt;/title&gt;
             &lt;p&gt;
                 OJB supports a pluggable strategy to read and set the persistent
                 attributes in the persistence capable classes. All strategy implementation
                 classes have to implement the interface
                 &lt;code&gt;org.apache.ojb.broker.metadata.fieldaccess.PersistentField&lt;/code&gt;.
OJB provide
-                a few implementation classes which can be set in
-                &lt;a href="ext:ojb/ojb.properties"&gt;OJB.properties&lt;/a&gt; file:
-            &lt;/p&gt;
-            &lt;source&gt;&lt;![CDATA[
-# The PersistentFieldClass property defines the implementation class
-# for PersistentField attributes used in the OJB MetaData layer.
-# By default the best performing attribute/refection based implementation
-# is selected (PersistentFieldDirectAccessImpl).
-#
-# - PersistentFieldDirectImpl
-#   is a high-speed version of the access strategies.
-#   It does not cooperate with an AccessController,
-#   but accesses the fields directly. Persistent
-#   attributes don't need getters and setters
-#   and don't have to be declared public or protected
-# - PersistentFieldCGLibImpl
-#   A very fast beans compliant (getter/setter access based) PersistentField
-#   implementation (it's three times faster than the direct field access via reflection).
-#   Needs public getter/setter for all declared fields.
-# - PersistentFieldPrivilegedImpl
-#   Same as above, but does cooperate with AccessController and do not
-#   suppress the java language access check (but is slow compared with direct access).
-# - PersistentFieldIntrospectorImpl
-#   uses JavaBeans compliant calls only to access persistent attributes.
-#   No Reflection is needed. But for each attribute xxx there must be
-#   public getXxx() and setXxx() methods.
-# - PersistentFieldDynaBeanAccessImpl
-#   implementation used to access a property from a
-#   org.apache.commons.beanutils.DynaBean.
-# - PersistentFieldAutoProxyImpl
-#   for each field determines upon first access how to access this particular field
-#   (cglib based, directly, as a bean, as a dyna bean) and then uses that strategy.
-#   The order of field access testing goes from the fastest to slowest, so you will always
-#   get the best performance.
-#
-PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldAutoProxyImpl
-#(DynaBean implementation does not support nested fields)
-#]]&gt;&lt;/source&gt;
-            &lt;p&gt;
-                E.g. if the &lt;code&gt;PersistentFieldDirectImpl&lt;/code&gt; is used there
must be an attribute in the
-                persistent class with this name, if the &lt;code&gt;PersistentFieldCGLibImpl&lt;/code&gt;
is used there must
-                be a &lt;em&gt;JavaBeans&lt;/em&gt; compliant property of this name.
-                &lt;br/&gt;
-                More info about the individual implementation can be found in &lt;a href="ext:javadoc"&gt;javadoc&lt;/a&gt;.
+                a &lt;a href="#persistent-field-impl"&gt;few implementation classes (see
below)&lt;/a&gt; which can be set
             &lt;/p&gt;
+            &lt;ul&gt;
+                &lt;li&gt;
+                    global in the &lt;a href="ext:ojb/ojb.properties"&gt;OJB.properties&lt;/a&gt;
file. Defines the
+                    global used &lt;code&gt;PersistentField&lt;/code&gt; implementation used
as default in all mapped
+                    classes.
+
+                &lt;/li&gt;
+                &lt;li&gt;
+                    per class in the &lt;a href="site:repository/class-descriptor"&gt;class-descriptor&lt;/a&gt;
using the
+                    &lt;em&gt;field-class&lt;/em&gt; attribute. Overrides the
+                    global setting for all fields of the current class.
+                &lt;/li&gt;
+                &lt;li&gt;
+                    per field in the &lt;a href="site:repository/field-descriptor"&gt;field-descriptor&lt;/a&gt;
using the
+                    &lt;em&gt;field-class&lt;/em&gt; attribute. Overrides the
+                    global and per class settings for the current field.
+                &lt;/li&gt;
+            &lt;/ul&gt;
+
+
+            &lt;anchor id="persistent-field-impl"/&gt;
+            &lt;section&gt;
+                &lt;title&gt;&lt;code&gt;PersistentField&lt;/code&gt; Implementations&lt;/title&gt;
+                &lt;p&gt;
+                    All implementations support OJB's
+                    &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut name feature&lt;/a&gt;.
+                    The &lt;code&gt;PersistentField&lt;/code&gt; implementations shipped
with OJB:
+                &lt;/p&gt;
+                &lt;ul&gt;
+                    &lt;li&gt;
+                        &lt;code&gt;org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldAutoProxyImpl&lt;/code&gt;&lt;br/&gt;
+                        for each field determines upon first access how to access this particular
field
+                        (cglib based, directly, as a bean, as a dyna bean) and then uses
that strategy. The order
+                        of field access testing goes from the fastest to slowest, so you
will always get the
+                        best performance.
+                        &lt;br/&gt;
+                        Shortcut name: &lt;em&gt;auto&lt;/em&gt;
+                    &lt;/li&gt;
+                    &lt;li&gt;
+                        &lt;code&gt;org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectImpl&lt;/code&gt;&lt;br/&gt;
+                        is a high-speed version of the access strategies. It does not cooperate
with an
+                        &lt;code&gt;AccessController&lt;/code&gt;, but accesses the fields
directly. Persistent attributes
+                        don't need getters and setters and don't have to be declared &lt;em&gt;public&lt;/em&gt;
or
+                        &lt;em&gt;protected&lt;/em&gt;.
+                        &lt;br/&gt;
+                        Shortcut name: &lt;em&gt;direct&lt;/em&gt;
+                    &lt;/li&gt;
+                    &lt;li&gt;
+                        &lt;code&gt;org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl&lt;/code&gt;&lt;br/&gt;
+                        A very fast beans compliant (getter/setter access based) PersistentField
implementation
+                        (it's three times faster than the direct field access via reflection
- with JDK versions before 1.5).
+                        Needs public getter/setter for all declared fields.
+                        &lt;br/&gt;
+                        Shortcut name: &lt;em&gt;cglib&lt;/em&gt;
+                    &lt;/li&gt;
+                    &lt;li&gt;
+                        &lt;code&gt;org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl&lt;/code&gt;&lt;br/&gt;
+                        Uses JavaBeans compliant calls only to access persistent attributes.
+                        But for each attribute xxx there must be public getXxx() and setXxx()
methods.
+                        &lt;br/&gt;
+                        Shortcut name: &lt;em&gt;introspector&lt;/em&gt;
+                    &lt;/li&gt;
+                    &lt;li&gt;
+                        &lt;code&gt;org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl&lt;/code&gt;&lt;br/&gt;
+                        Similar to the &lt;em&gt;direct access&lt;/em&gt; implementation,
but does cooperate with
+                        the &lt;code&gt;AccessController&lt;/code&gt; and do not suppress
the java language access checks
+                         - but is slow compared with &lt;em&gt;direct access&lt;/em&gt;.
+                        &lt;br/&gt;
+                        Shortcut name: &lt;em&gt;privileged&lt;/em&gt;
+                    &lt;/li&gt;
+                    &lt;li&gt;
+                        &lt;code&gt;org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanImpl&lt;/code&gt;&lt;br/&gt;
+                        implementation used to access a property from a &lt;code&gt;org.apache.commons.beanutils.DynaBean&lt;/code&gt;.
+                        &lt;br/&gt;
+                        NOTE: This implementation does not support
+                        &lt;a href="site:advanced-technique/nested-objects"&gt;nested fields&lt;/a&gt;.
+                        &lt;br/&gt;
+                        Shortcut name: &lt;em&gt;dynabean&lt;/em&gt;
+                    &lt;/li&gt;
+                &lt;/ul&gt;
+            &lt;/section&gt;
             &lt;p&gt;
-                Per default, OJB uses a direct access implementation (&lt;code&gt;PersistentFieldDirectImpl&lt;/code&gt;)
-                which requires actual fields to be present.
+                By default OJB uses a direct access implementation (&lt;code&gt;PersistentFieldDirectImpl&lt;/code&gt;)
+                which only requires actual fields to be present.
             &lt;/p&gt;
             &lt;p&gt;
                 If you have bean compliant and non-compilant persistence capable classes
the
@@ -1282,8 +1315,50 @@
                 will always use the best performing strategy.
             &lt;/p&gt;
             &lt;p&gt;
-                For best performance &lt;code&gt;PersistentFieldCGLibImpl&lt;/code&gt; is
recommended.
+                If you want to avoid setter/getter for fields only used by OJB, like a
+                &lt;a href="site:advanced-technique/table-per-hierarchy"&gt;discriminator
field&lt;/a&gt; or
+                &lt;a href="site:lock-manager/optimistic-locking"&gt;optimistic locking&lt;/a&gt;
fields, independent
+                from the global used &lt;code&gt;PersistentField&lt;/code&gt; implementation,
declare
+                the &lt;code&gt;PersistentFieldDirectImpl&lt;/code&gt; implementation class
on
+                &lt;a href="site:repository/field-descriptor"&gt;field-descriptor&lt;/a&gt;
level via &lt;em&gt;field-class&lt;/em&gt;.
             &lt;/p&gt;
+            &lt;p&gt;
+                Below you can find an example. Class &lt;code&gt;my.Article&lt;/code&gt;
declare the bean compliant
+                getter/setter access based &lt;code&gt;PersistentFieldCGLibImpl&lt;/code&gt;
on class level (override the global
+                setting specified in the &lt;a href="ext:ojb/ojb.properties"&gt;OJB.properties&lt;/a&gt;
file). But for
+                field &lt;em&gt;version&lt;/em&gt; the direct field access without getter/setter
is specified.
+            &lt;/p&gt;
+            &lt;source&gt;&lt;![CDATA[
+&lt;class-descriptor
+   	  class="my.Article"
+   	  table="ARTICLE_"
+   	  field-class="cglib"
+   &gt;
+      &lt;field-descriptor
+         name="id"
+         column="ID"
+         jdbc-type="INTEGER"
+         primarykey="true"
+         autoincrement="true"
+      /&gt;
+      &lt;field-descriptor
+         name="name"
+         column="NAME_"
+         jdbc-type="VARCHAR"
+      /&gt;
+      &lt;field-descriptor
+         name="version"
+         column="VERSION_"
+         jdbc-type="INTEGER"
+         locking="true"
+         field-class="direct"
+      /&gt;
+   &lt;/class-descriptor&gt;
+            ]]&gt;&lt;/source&gt;
+            &lt;note&gt;
+                For best performance &lt;code&gt;PersistentFieldDirectImpl&lt;/code&gt; or
+                &lt;code&gt;PersistentFieldCGLibImpl&lt;/code&gt; is recommended.
+            &lt;/note&gt;
         &lt;/section&gt;
 
 

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/basic-technique.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/basic-technique.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/basic-technique.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/basic-technique.xml
Sun Jan 27 18:04:36 2008
@@ -1312,10 +1312,10 @@
         &lt;anchor id="delete-orphan"/&gt;
         &lt;section&gt;
             &lt;title&gt;Delete or Unlink of orphan collection objects&lt;/title&gt;
-            &lt;p&gt;## TODO: IS NOT UP-TO-DATE ##&lt;/p&gt;
+            &lt;p&gt;## TODO: IS NOT UP-TO-DATE ##  &lt;/p&gt;
             &lt;p&gt;
                 OJB support several possibilities of handling objects removed from
-                referenced/linked 1:n or m:n collections (so called &lt;em&gt;orphan (collection)
objects&lt;/em&gt;):
+                referenced/linked 1:n collections - so called &lt;em&gt;orphan (collection)
objects&lt;/em&gt;:
                 &lt;br/&gt;
                 - Do nothing with the removed object when the main object is stored&lt;br/&gt;
                 - Unlink the removed object when the main object is stored&lt;br/&gt;

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/deployment.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/deployment.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/deployment.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/deployment.xml
Sun Jan 27 18:04:36 2008
@@ -120,6 +120,9 @@
                         if you plan to use the JDO Api.
                     &lt;/dd&gt;
                 &lt;/dl&gt;
+                &lt;note&gt;
+                    See here for an &lt;a href="site:dependencies"&gt;overview of all dependencies&lt;/a&gt;.
+                &lt;/note&gt;
             &lt;/section&gt;
 
             &lt;anchor id="optional-jars"/&gt;
@@ -180,6 +183,9 @@
                         ignore these files then.
                     &lt;/dd&gt;
                 &lt;/dl&gt;
+                &lt;note&gt;
+                    See here for an &lt;a href="site:dependencies"&gt;overview of all dependencies&lt;/a&gt;.
+                &lt;/note&gt;
             &lt;/section&gt;
 
             &lt;section&gt;

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/objectcache.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/objectcache.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/objectcache.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/objectcache.xml
Sun Jan 27 18:04:36 2008
@@ -381,8 +381,9 @@
                     only returned from cache if it was not garbage collected and was not
timed out.
                 &lt;/p&gt;
                 &lt;p&gt;
-                    This implementation supports a specific &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name&lt;/a&gt;
-                    '&lt;em&gt;default&lt;/em&gt;' as convenience instead of the full qualified
class name.
+                    Support OJB's &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name feature&lt;/a&gt;
+                    within the &lt;em&gt;object-cache&lt;/em&gt; attribute ('&lt;em&gt;default&lt;/em&gt;')
as convenience instead
+                    of the full qualified class name.
                     &lt;br/&gt;
                     To enable this
                     &lt;code&gt;ObjectCache&lt;/code&gt; implementation declare
@@ -517,9 +518,10 @@
                     cache with &lt;a href="#defaultImpl"&gt;&lt;code&gt;ObjectCacheDefaultImpl&lt;/code&gt;&lt;/a&gt;
as second level cache.
                 &lt;/p&gt;
                 &lt;p&gt;
-                    This implementation supports a specific &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name&lt;/a&gt;
-                    '&lt;em&gt;twoLevel&lt;/em&gt;' as convenience instead of the full qualified
class name and shortcut names in the
-                    attributes 'applicationCache' and 'copyStrategy' are supported too.
+                    Support OJB's &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name feature&lt;/a&gt;
+                    within the &lt;em&gt;object-cache&lt;/em&gt; attribute ('&lt;em&gt;twoLevel&lt;/em&gt;')
as convenience instead
+                    of the full qualified class name and shortcut names in the attributes
'&lt;em&gt;applicationCache&lt;/em&gt;' and
+                    '&lt;em&gt;copyStrategy&lt;/em&gt;' are supported too.
                 &lt;/p&gt;
                 &lt;source&gt;&lt;![CDATA[
 &lt;object-cache class="twoLevel"&gt;
@@ -536,7 +538,7 @@
 
     &lt;!-- ObjectCacheDefaultImpl attributes --&gt;
     &lt;attribute attribute-name="timeout" attribute-value="900"/&gt;
-    &lt;attribute attribute-name="autoSync" attribute-value="true"/&gt;
+    &lt;attribute attribute-name="autoSync" attribute-value="false"/&gt;
     &lt;attribute attribute-name="cachingKeyType" attribute-value="0"/&gt;
     &lt;attribute attribute-name="useSoftReferences" attribute-value="true"/&gt;
 &lt;/object-cache&gt;]]&gt;&lt;/source&gt;
@@ -668,12 +670,17 @@
                 &lt;/p&gt;
                 &lt;p&gt;
                     So, objects modified by other threads will not influence the cached objects,
because for each
-                    broker instance the objects will be cached separately and each thread
-                    should use it's own &lt;em&gt;PersistenceBroker&lt;/em&gt; instance.
+                    broker instance the objects will be cached separately (if each thread
+                    should use it's own &lt;em&gt;PersistenceBroker&lt;/em&gt; instance).
                 &lt;/p&gt;
                 &lt;p&gt;
-                    Supports OJB's &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name feature&lt;/a&gt;.
+                    Support OJB's &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name feature&lt;/a&gt;
+                    within the &lt;em&gt;object-cache&lt;/em&gt; attribute (&lt;em&gt;'PerBroker'&lt;/em&gt;)
and supports &lt;em&gt;'session'&lt;/em&gt;
+                    instead of the default shortcut name as additional shortcut name.
                 &lt;/p&gt;
+                &lt;source&gt;&lt;![CDATA[
+&lt;object-cache class="session"&gt;
+&lt;/object-cache&gt;]]&gt;&lt;/source&gt;
             &lt;/section&gt;
 
             &lt;anchor id="emptyImpl"/&gt;
@@ -688,8 +695,12 @@
                     of object graphs with circular references will be handled internally
by OJB).
                 &lt;/note&gt;
                 &lt;p&gt;
-                    Supports OJB's &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name feature&lt;/a&gt;.
+                    Support OJB's &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name feature&lt;/a&gt;
+                    within the &lt;em&gt;object-cache&lt;/em&gt; attribute.
                 &lt;/p&gt;
+                &lt;source&gt;&lt;![CDATA[
+&lt;object-cache class="empty"&gt;
+&lt;/object-cache&gt;]]&gt;&lt;/source&gt;
             &lt;/section&gt;
 
 
@@ -702,8 +713,13 @@
                     &lt;a href="ext:jakarta/jcs"&gt;turbine-JCS&lt;/a&gt;.
                 &lt;/p&gt;
                 &lt;p&gt;
-                    Supports OJB's &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name feature&lt;/a&gt;.
+                    Support OJB's &lt;a href="site:basic-technique/shortcut-name"&gt;shortcut
name feature&lt;/a&gt;
+                    within the &lt;em&gt;object-cache&lt;/em&gt; attribute (&lt;em&gt;'JCS'&lt;/em&gt;)
and supports &lt;em&gt;'jcs'&lt;/em&gt;
+                    instead of the default shortcut name as additional shortcut name.
                 &lt;/p&gt;
+                &lt;source&gt;&lt;![CDATA[
+&lt;object-cache class="jcs"&gt;
+&lt;/object-cache&gt;]]&gt;&lt;/source&gt;
             &lt;/section&gt;
 
 

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/pb-guide.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/pb-guide.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/pb-guide.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/pb-guide.xml
Sun Jan 27 18:04:36 2008
@@ -321,6 +321,65 @@
 
         &lt;/section&gt;
 
+
+        &lt;anchor id="use-odmg"/&gt;
+        &lt;section&gt;
+            &lt;title&gt;Use of the ODMG-API within the PB-API&lt;/title&gt;
+            &lt;p&gt;
+                It is possible to use the &lt;a href="site:odmg-guide"&gt;ODMG-API&lt;/a&gt;
for insert, update and delete
+                operations within the PB-api. The ODMG-api offers &lt;em&gt;persistence by
reachability&lt;/em&gt; and
+                change-tracking of persistence capable objects.
+            &lt;/p&gt;
+            &lt;p&gt;
+                Lookup an &lt;code&gt;ImplementationExt&lt;/code&gt; instance - it's an extension
of ODMG's
+                &lt;code&gt;Implementation&lt;/code&gt; class. If only one
+                &lt;a href="site:repository/jdbc-connection-descriptor"&gt;database connection
access&lt;/a&gt;
+                is defined the &lt;code&gt;ImplementationExt&lt;/code&gt; instance can be
shared by the whole application.
+                &lt;br/&gt;
+                The example below show how to insert (A), update (B) and delete (C) persistence
capable objects:
+            &lt;/p&gt;
+            &lt;source&gt;&lt;![CDATA[
+PersistenceBroker broker = ...
+// Get the ODMG Implementation instance once per database
+ImplementationExt odmg = OJB.getInstance();
+...
+--A--
+// inject the broker instance into the ODMG-api
+Transaction tx = odmg.newTransaction(broker, false);
+// Lookup the current database instance
+Database db = odmg.getDatabase(null);
+tx.begin();
+// explicite persist the object
+db.makePersistent(new Book("test"));
+tx.commit();
+
+--B--
+// inject the broker instance into the ODMG-api
+Transaction tx = odmg.newTransaction(broker, false);
+tx.begin();
+// lock the object
+tx.lock(book, Transaction.WRITE);
+book.setName("Good Omens");
+tx.commit();
+
+--C--
+// inject the broker instance into the ODMG-api
+Transaction tx = odmg.newTransaction(broker, false);
+// Lookup the current database instance
+Database db = odmg.getDatabase(null);
+tx.begin();
+// delete the object
+db.deletePersistent(new Book("test"));
+tx.commit();
+            ]]&gt;&lt;/source&gt;
+            &lt;p&gt;
+                Create a new odmg-Trasaction instance by using a specific method which allows
to inject the current used
+                &lt;code&gt;PersistenceBroker&lt;/code&gt; instance. Different from the &lt;em&gt;normal&lt;/em&gt;
use of the ODMG-api there is
+                no need to open an &lt;code&gt;Database&lt;/code&gt; instance. OJB implicite
opens a &lt;code&gt;Database&lt;/code&gt; instance
+                based on the specified broker instance.
+            &lt;/p&gt;
+        &lt;/section&gt;
+
     &lt;/body&gt;
 &lt;/document&gt;
 

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/xdoclet-module.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/xdoclet-module.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/xdoclet-module.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/xdoclet-module.xml
Sun Jan 27 18:04:36 2008
@@ -493,8 +493,8 @@
                     The following
                     &lt;code&gt;class-descriptor&lt;/code&gt; attributes are also supported
in the
                     &lt;strong&gt;ojb.class&lt;/strong&gt;
-                    tag and will be written directly to the generated class descriptor (see
the
-                    &lt;a href="repository.html#class-descriptor"&gt;repository.dtd&lt;/a&gt;
for their meaning):
+                    tag and will be written directly to the generated class-descriptor (see
the
+                    &lt;a href="repository.html#class-descriptor"&gt;repository docs&lt;/a&gt;
for their meaning):
                 &lt;/p&gt;
                 &lt;ul&gt;
                     &lt;li&gt;
@@ -2114,7 +2114,7 @@
                 &lt;/dl&gt;
                 &lt;p&gt;
                     Other supported attributes (see
-                    &lt;a href="repository.html#reference-descriptor"&gt;repository.dtd&lt;/a&gt;
for their
+                    &lt;a href="repository.html#reference-descriptor"&gt;repository docs&lt;/a&gt;
for their
                     meaning) written directly to the repository descriptor file:
                 &lt;/p&gt;
                 &lt;ul&gt;

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-build-mappings.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-build-mappings.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-build-mappings.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-build-mappings.xml
Sun Jan 27 18:04:36 2008
@@ -38,7 +38,7 @@
 
 &lt;section&gt;&lt;title&gt;How to build O/R mapping files&lt;/title&gt;
 &lt;p&gt;
-	Writing the repository.xml file for only a few classes
+	Writing the &lt;a href="site:repository"&gt;repository.xml&lt;/a&gt; file for only a few
classes
 	can easily be done manually with the text or xml editor of your choice.
 &lt;/p&gt;
     &lt;p&gt;
@@ -51,7 +51,7 @@
 &lt;/p&gt;
 &lt;/section&gt;
 
-&lt;section&gt;&lt;title&gt;classification of O/R related transformations&lt;/title&gt;
+&lt;section&gt;&lt;title&gt;Classification of O/R related transformations&lt;/title&gt;
 &lt;p&gt;
 	Let's start with a classification of the source transformation problems
 	that developers have to face in an O/R environment.
@@ -66,12 +66,12 @@
 			All modern UML tools can export to the XMI standard format.
 		&lt;/li&gt;
 		&lt;li&gt;
-			Other tools, such as Torque, also use a model based approach
-			but use different model file formats (typically XML based)
+			Other tools, such as &lt;a href="ext:ddlutils"&gt;DdlUtils&lt;/a&gt; or &lt;a href="ext:torque"&gt;Torque&lt;/a&gt;,
+            also use a model based approach but use different model file formats (typically
XML based)
 		&lt;/li&gt;
 		&lt;li&gt;
 			Java source code for the persistent classes.
-			The Java source code can possibly be enhanced with xdoclet tags.
+			The Java source code can possibly be enhanced with &lt;a href="ext:xdoclet"&gt;xdoclet&lt;/a&gt;
tags.
 		&lt;/li&gt;
 		&lt;li&gt;
 			The OJB repository.xml file. This file contains all the
@@ -97,21 +97,21 @@
 			be generated from this model.
 		&lt;/li&gt;
 		&lt;li&gt;
-			&lt;strong&gt;Forward engineering from Torque:&lt;/strong&gt; A model of the persistent
entity classes exists
-			in form of a Torque.XML file.
-			Java code, repository.xml and DDL for the database tables have to
+			&lt;strong&gt;Forward engineering from &lt;a href="ext:ddlutils"&gt;DdlUtils&lt;/a&gt;
or &lt;a href="ext:torque"&gt;Torque&lt;/a&gt;:&lt;/strong&gt;
+            A model of the persistent entity classes exists as sources or in form of a Torque.XML
file.
+			The repository.xml file, DDL for the database tables (and Java code) have to
 			be generated from this model.
 		&lt;/li&gt;
 		&lt;li&gt;
 			&lt;strong&gt;Forward engineering from the repository.xml:&lt;/strong&gt;
 			The OJB repository.xml file is used a model format.
-			Java code and DDL for the database tables have to
-			be generated from this model.
+			Java code and DDL for the database tables (e.g. in form of a xml-file for use with
+            &lt;a href="ext:ddlutils"&gt;DdlUtils&lt;/a&gt;) have to be generated from this
model.
 		&lt;/li&gt;
 		&lt;li&gt;
 			&lt;strong&gt;Xdoclet transformation from Java code:&lt;/strong&gt;
 			Java code for the persistent classes exists and contains special
-			comment tags in the Xdoclet ojb-module format.
+			comment tags in the &lt;a href="site:xdoclet-module"&gt;Xdoclet ojb-module format&lt;/a&gt;.
 			Repository.xml and DDL for the database tables have to
 			be generated from the java files via Xdoclet transformation.
 		&lt;/li&gt;

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-use-spring.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-use-spring.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-use-spring.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-use-spring.xml
Sun Jan 27 18:04:36 2008
@@ -50,6 +50,11 @@
                 &lt;br/&gt;
                 They are simple to setup and require minimal configuration.
             &lt;/p&gt;
+            &lt;note&gt;
+                This howto base on Spring version 1.2. In Spring 2.x OJB-support moved to
a separate
+                module, so you have to adapt the following sections. Here you can find the
documentation
+                to &lt;a href="ext:spring-ojb-module"&gt;setup OJB with Spring 2.0&lt;/a&gt;.
+            &lt;/note&gt;
 
 
             &lt;anchor id="part-1"/&gt;

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-work-with-clustering.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-work-with-clustering.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-work-with-clustering.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/howtos/howto-work-with-clustering.xml
Sun Jan 27 18:04:36 2008
@@ -181,7 +181,8 @@
                 &lt;/note&gt;
                 &lt;ul&gt;
                     &lt;li&gt;Add a database column to your table that is either an INTEGER
or a TIMESTAMP&lt;/li&gt;
-                    &lt;li&gt;Add the field to your java class, and getter/setter methods
(depends on the used
+                    &lt;li&gt;Add the field to your java class and getter/setter methods
(getter/setter are not mandatory,
+                        this depends on the used
                         &lt;a href="site:advanced-technique/persistent-field"&gt;PersistentField
implementation&lt;/a&gt;):
                     &lt;/li&gt;
                 &lt;/ul&gt;

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml?rev=615700&amp;r1=615699&amp;r2=615700&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml
(original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml
Sun Jan 27 18:04:36 2008
@@ -46,6 +46,7 @@
         &lt;!-- faq label="FAQ's" href="site:faq" / --&gt;
         &lt;status label="Status" href="status.html"/&gt;
         &lt;release-notes label="Release Notes" href="release-notes.html"/&gt;
+        &lt;dependencies label="Dependencies" href="dependencies.html"/&gt;
         &lt;references label="References" href="references.html"/&gt;
         &lt;wiki label="Wiki" href="ext:ojb/wiki-page"/&gt;
         &lt;mail-lists label="Mailing Lists" href="mail-lists.html"/&gt;
@@ -72,14 +73,17 @@
 
         &lt;all label="Index"&gt;
             &lt;linkmap label="Sitemap" href="linkmap.html"/&gt;
-            &lt;!--&lt;whole_site_html label="Site as HTML" href="site.html"/&gt;--&gt;
             &lt;whole_site_pdf label="Site as PDF" href="site.pdf"/&gt;
+            &lt;!--&lt;whole_site_html label="Site as HTML" href="wholesite.html"/&gt;--&gt;
         &lt;/all&gt;
     &lt;/ojb&gt;
 
     &lt;documentation label="Documentation" href="docu/" tab="documentation"&gt;
 
         &lt;index label="Summary" href="index.html"/&gt;
+        &lt;getting-started label="Getting Started" href="getting-started.html"&gt;
+            &lt;ojb-blank-build-properties href="#ojb-blank-build-properties"/&gt;
+        &lt;/getting-started&gt;
         &lt;faq label="FAQ's" href="faq.html"&gt;
             &lt;apis href="#apis"/&gt;
             &lt;optimistic-locking href="#optimisticLocking"/&gt;
@@ -90,11 +94,9 @@
             &lt;api-differences href="#differencesBetweenAPI"/&gt;
             &lt;primitive-null href="#primitiveNull"/&gt;
             &lt;password-needed href="#userPasswordNeeded"/&gt;
+            &lt;trace-sql href="#traceProfileSQL"/&gt;
         &lt;/faq&gt;
         &lt;javadoc label="JavaDocs" href="ext:javadoc"/&gt;
-        &lt;getting-started label="Getting Started" href="getting-started.html"&gt;
-            &lt;ojb-blank-build-properties href="#ojb-blank-build-properties"/&gt;
-        &lt;/getting-started&gt;
 
         &lt;tutorials label="Tutorials" href="tutorials/" tab="tutorials"&gt;
             &lt;summary label="Summary" href="summary.html"/&gt;
@@ -475,9 +477,10 @@
 
         &lt;!-- Article links used within OJB --&gt;
         &lt;article&gt;
-            &lt;spring-ojb-part-1 href="http://staff.osuosl.org/~mckerrj/?p=3"/&gt;
-            &lt;spring-ojb-part-2 href="http://staff.osuosl.org/~mckerrj/?p=4"/&gt;
-            &lt;spring-ojb-part-3 href="http://staff.osuosl.org/~mckerrj/?p=8"/&gt;
+            &lt;spring-ojb-module href="https://springmodules.dev.java.net/docs/reference/0.8/html_single/#ojb"/&gt;
+            &lt;spring-ojb-part-1 href="http://wiki.osuosl.org/display/howto/Spring%2C+Struts+and+OJB"/&gt;
+            &lt;spring-ojb-part-2 href="http://wiki.osuosl.org/display/howto/Spring%2C+OJB%2C+and+Struts.+Version+2+with+DAO."/&gt;
+            &lt;spring-ojb-part-3 href="http://wiki.osuosl.org/display/howto/Spring%2C+OJB%2C+and+Struts+Third+Installment.+JNDI+and+Caching"/&gt;
             &lt;springframework-and-ojb href="http://blogs.codepuccino.com/dude/index.php?p=23"/&gt;
         &lt;/article&gt;
     &lt;/external-refs&gt;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r593197 - in /db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org: ./ apache/ apache/ojb/ apache/ojb/sample/</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200711.mbox/%3c20071108152924.2630A1A983A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20071108152924-2630A1A983A@eris-apache-org%3e</id>
<updated>2007-11-08T15:29:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Thu Nov  8 07:29:20 2007
New Revision: 593197

URL: http://svn.apache.org/viewvc?rev=593197&amp;view=rev
Log:
add example for use of OJB's xdoclet-module

Added:
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,153 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The Author class
+ * 
+ * FK's only used in a 1:1 reference can use an "anonymous field" (no FK field in java class).
+ * @ojb.class
+ * @ojb.field name="fkAuthorDetail" jdbc-type="INTEGER"
+ */
+public class Author extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private String name;
+    // This field is used by a 1:1 and target of an 1:n reference in class PublisherImpl
+    // so it's not recommended to use an "anonymous field". But we can declare it as 
+    // private field without getter/setter with a specific PersistentField implementation
+    // class called 'direct' (the OJB shortcut name)
+    /**
+     * @ojb.field field-class="direct"
+     */
+    private Integer fkPublisher;
+    /**
+     * @ojb.reference foreignkey="fkPublisher" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Publisher publisher;
+    /**
+     * @ojb.reference foreignkey="fkAuthorDetail" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private AuthorDetail authorDetail;
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Medium"
+     * indirection-table="MEDIUM_AUTHOR"
+     * foreignkey="authorId"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List media;
+
+    public Author()
+    {
+    }
+
+    public Author(String name, List books)
+    {
+        this.name = name;
+        this.media = books;
+    }
+
+    public void addMedia(Medium medium)
+    {
+        if (media == null)
+        {
+            media = new ArrayList();
+        }
+        if (!media.contains(medium))
+        {
+            media.add(medium);
+            medium.addAuthor(this);
+        }
+    }
+
+    public boolean removeMedia(Medium medium)
+    {
+        boolean result = false;
+        if (media != null)
+        {
+            result = media.remove(medium);
+            if (result) medium.removeAuthor(this);
+        }
+        return result;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+
+    public List getMedia()
+    {
+        return media;
+    }
+
+    public Publisher getPublisher()
+    {
+        return publisher;
+    }
+
+    public void setPublisher(Publisher publisher)
+    {
+        if(this.publisher != publisher)
+        {
+            Publisher old = this.publisher;
+            this.publisher = publisher;
+            if(publisher != null)
+            {
+                publisher.addAuthor(this);
+            }
+            if(old != null)
+            {
+                old.removeAuthor(this);
+            }
+        }
+    }
+
+    public AuthorDetail getAuthorDetail()
+    {
+        return authorDetail;
+    }
+
+    public void setAuthorDetail(AuthorDetail authorDetail)
+    {
+        if(this.authorDetail != authorDetail)
+        {
+            AuthorDetail old = this.authorDetail;
+            this.authorDetail = authorDetail;
+            if(authorDetail != null) authorDetail.setAuthor(this);
+            if(old != null) old.setAuthor(null);
+        }
+    }
+}

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,85 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Details class of Author class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class AuthorDetail extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private String bio;
+    // use PersistentFieldDirectImpl, no getter/setter required
+    /**
+     * @ojb.field field-class="direct"
+     */
+    private Integer fkAuthor;
+    /**
+     * @ojb.reference foreignkey="fkAuthor" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Author author;
+
+    public AuthorDetail()
+    {
+    }
+
+    public AuthorDetail(String bio)
+    {
+        this.bio = bio;
+    }
+
+    public String getBio()
+    {
+        return bio;
+    }
+
+    public void setBio(String bio)
+    {
+        this.bio = bio;
+    }
+
+    public Author getAuthor()
+    {
+        return author;
+    }
+
+    public void setAuthor(Author author)
+    {
+        if(this.author != author)
+        {
+            Author old = this.author;
+            this.author = author;
+            if(author != null)
+            {
+                author.setAuthorDetail(this);
+            }
+            if(old != null)
+            {
+                old.setAuthorDetail(null);
+            }
+        }
+    }
+}

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,77 @@
+package org.apache.ojb.sample;
+
+import java.io.Serializable;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * A base class.
+ * 
+ * IMPORTANT: Don't declare a 'ojb.class' tag, because this is only a base class
+ * and we only need the base fields in the sub-classes (xdoclet shouldn't generate
+ * the table- or mapping-info for this class).
+ * 
+ * @version $Id$
+ */
+class BasicObject implements Serializable
+{
+    /**
+     * @ojb.field autoincrement="ojb" primarykey="true" field-class="direct"
+     */
+    Integer id;
+
+    /**
+     * @ojb.field locking="true" field-class="direct"
+     */
+    Integer version;
+
+    public Integer getId()
+    {
+        return id;
+    }
+
+    public Integer getVersion()
+    {
+        return version;
+    }
+
+    public boolean equals(Object obj)
+    {
+        if (obj != null &amp;&amp; obj.getClass().equals(this.getClass()))
+        {
+            BasicObject tmp = (BasicObject) obj;
+            if (tmp.getId() != null)
+            {
+                return tmp.getId().equals(this.getId());
+            }
+            else
+            {
+                return tmp == this;
+            }
+        }
+        return false;
+    }
+
+    public int hashCode()
+    {
+        // this could cause problems, but I don't know a better way
+        return id != null ? getId().hashCode() : 0;
+    }
+}

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,40 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Date;
+
+/**
+ * The Book class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class Book extends Medium
+{
+    public Book()
+    {
+    }
+
+    public Book(String title, Date publicationDate, byte[] cover)
+    {
+        super(title, publicationDate, cover);
+    }
+}

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,40 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Date;
+
+/**
+ * The CD class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class CD extends Medium
+{
+    public CD()
+    {
+    }
+
+    public CD(String title, Date publicationDate, byte[] cover)
+    {
+        super(title, publicationDate, cover);
+    }
+}

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,40 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Date;
+
+/**
+ * The DVD class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class DVD extends Medium
+{
+    public DVD()
+    {
+    }
+
+    public DVD(String title, Date publicationDate, byte[] cover)
+    {
+        super(title, publicationDate, cover);
+    }
+}

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,234 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.commons.lang.builder.ToStringStyle;
+
+/**
+ * A "medium" base class
+ * 
+ * FK's only used in a 1:1 reference can use an "anonymous field" (no FK field in java class).
+ * @ojb.class generate-table-info="false"
+ * @ojb.field name="fkPublisher" jdbc-type="INTEGER"
+ * @version $Id$
+ */
+public abstract class Medium extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private String title;
+    /**
+     * @ojb.field jdbc-type="TIMESTAMP" conversion="JavaData2SqlTimestamp"
+     */
+    private Date publicationDate;
+    /**
+     * @ojb.field jdbc-type="LONGVARBINARY"
+     */
+    private byte[] cover;
+    // This field is used by a 1:1 and target of an 1:n reference in class ProductGroup
+    // so it's not recommended to use an "anonymous field". But we can declare it as 
+    // private field without getter/setter with a specific PersistentField implementation
+    // class called 'direct' (the OJB shortcut name)
+    /**
+     * @ojb.field field-class="direct"
+     */
+    private Integer fkProductGroup;
+    
+    /**
+     * @ojb.reference foreignkey="fkProductGroup" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private ProductGroup productGroup;
+    /**
+     * @ojb.reference foreignkey="fkPublisher" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Publisher publisher;
+    
+    
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Author"
+     * indirection-table="MEDIUM_AUTHOR"
+     * foreignkey="mediumId"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List authors;
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Review"
+     * foreignkey="fkMedium"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List reviews;
+
+    public Medium()
+    {
+    }
+
+    public Medium(String title, Date publicationDate, byte[] cover)
+    {
+        this.title = title;
+        this.publicationDate = publicationDate;
+        this.cover = cover;
+    }
+
+    public String toString()
+    {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", id).append("title", title).append(
+                        "publicationDate", publicationDate).append("version",
+                        version).append(
+                        "cover", cover).append("authors.size",
+                        authors != null ? authors.size() : 0).append(
+                        "reviews.size", reviews != null ? reviews.size() : 0)
+                .append("publisher", publisher).toString();
+    }
+
+    public void addAuthor(Author author)
+    {
+        if (authors == null)
+        {
+            authors = new ArrayList();
+        }
+        if (!authors.contains(author))
+        {
+            authors.add(author);
+            author.addMedia(this);
+        }
+    }
+
+    public boolean removeAuthor(Author author)
+    {
+        boolean result = false;
+        if (authors != null)
+        {
+            result = authors.remove(author);
+            if (result) author.removeMedia(this);
+        }
+        return result;
+    }
+
+    public void addReview(Review review)
+    {
+        if (reviews == null)
+        {
+            reviews = new ArrayList();
+        }
+        if(!reviews.contains(review))
+        {
+            reviews.add(review);
+            review.setMedium(this);
+        }
+    }
+
+    public boolean removeReview(Review review)
+    {
+        boolean result = false;
+        if (reviews != null) result = reviews.remove(review);
+        if(result)
+        {
+            review.setMedium(null);
+        }
+        return result;
+    }
+
+    public String getTitle()
+    {
+        return title;
+    }
+
+    public void setTitle(String title)
+    {
+        this.title = title;
+    }
+
+    public Date getPublicationDate()
+    {
+        return publicationDate;
+    }
+
+    public void setPublicationDate(Date publicationDate)
+    {
+        this.publicationDate = publicationDate;
+    }
+
+    public byte[] getCover()
+    {
+        return cover;
+    }
+
+    public void setCover(byte[] cover)
+    {
+        this.cover = cover;
+    }
+
+    public List getAuthors()
+    {
+        return authors;
+    }
+
+    public List getReviews()
+    {
+        return reviews;
+    }
+
+    public Publisher getPublisher()
+    {
+        return publisher;
+    }
+
+    public void setPublisher(Publisher publisher)
+    {
+        this.publisher = publisher;
+    }
+
+    public ProductGroup getProductGroup()
+    {
+        return productGroup;
+    }
+
+    public void setProductGroup(ProductGroup productGroup)
+    {
+        if(this.productGroup != productGroup)
+        {
+            ProductGroup old = this.productGroup;
+            this.productGroup = productGroup;
+            if(productGroup != null)
+            {
+                productGroup.addMedium(this);
+            }
+            if(old != null)
+            {
+                old.removeMedium(this);
+            }
+        }
+    }
+}
\ No newline at end of file

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,91 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The ProductGroup class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class ProductGroup extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private String name;
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Medium"
+     * foreignkey="fkProductGroup"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List media;
+
+    public ProductGroup()
+    {
+    }
+
+    public ProductGroup(String name)
+    {
+        this.name = name;
+    }
+
+    public List getMedia()
+    {
+        return media;
+    }
+
+    public void addMedium(Medium medium)
+    {
+        if (media == null) media = new ArrayList();
+        if (!media.contains(medium))
+        {
+            media.add(medium);
+            medium.setProductGroup(this);
+        }
+    }
+
+    public boolean removeMedium(Medium medium)
+    {
+        boolean result = false;
+        if (media != null) result = media.remove(medium);
+        if(result)
+        {
+            medium.setProductGroup(null);
+        }
+        return result;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+}
\ No newline at end of file

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,44 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * The Publisher interface
+ *
+ * @ojb.class generate-table-info="false"
+ * @version $Id$
+ */
+public interface Publisher extends Serializable
+{
+    public Integer getId();
+
+    public String getName();
+
+    public void setName(String name);
+
+    public List getAuthors();
+
+    public boolean removeAuthor(Author author);
+
+    public void addAuthor(Author author);
+}

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,101 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The Publisher implementation class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class PublisherImpl extends BasicObject implements Publisher
+{
+    /**
+     * @ojb.field
+     */
+    private String name;
+    
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Author"
+     * foreignkey="fkPublisher"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List authors;
+
+    public PublisherImpl()
+    {
+    }
+
+    public PublisherImpl(String name)
+    {
+        this.name = name;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+
+    public List getAuthors()
+    {
+        return authors;
+    }
+
+    public void setAuthors(List authors)
+    {
+        this.authors = authors;
+    }
+
+    public void addAuthor(Author author)
+    {
+        if (authors == null)
+        {
+            authors = new ArrayList();
+        }
+        if (!authors.contains(author))
+        {
+            authors.add(author);
+            author.setPublisher(this);
+        }
+    }
+
+
+    public boolean removeAuthor(Author author)
+    {
+        boolean result = false;
+        if (authors != null) result = authors.remove(author);
+        if(result)
+        {
+            author.setPublisher(null);
+        }
+        return result;
+    }
+}

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,147 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.commons.lang.builder.ToStringStyle;
+
+/**
+ * The Review class
+ * 
+ * @ojb.class
+ * @ojb.field name="fkAuthor" jdbc-type="INTEGER"
+ * @version $Id$
+ */
+public class Review extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private Integer vote;
+    /**
+     * @ojb.field
+     */
+    private String summary;
+    // This field is used by a 1:1 and target of an 1:n reference in class Medium
+    // so it's not recommended to use an "anonymous field". But we can declare it as 
+    // private field without getter/setter with a specific PersistentField implementation
+    // class called 'direct' (the OJB shortcut name)
+    /**
+     * @ojb.field field-class="direct"
+     */
+    private Integer fkMedium;
+    
+    /**
+     * @ojb.reference foreignkey="fkAuthor" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Author author;
+    /**
+     * @ojb.reference foreignkey="fkMedium" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Medium medium;
+
+    public Review()
+    {
+    }
+
+    public Review(String summary, Integer vote, Medium medium)
+    {
+        this.summary = summary;
+        this.vote = vote;
+        setMedium(medium);
+    }
+
+    public Review(String summary, Integer vote)
+    {
+        this.summary = summary;
+        this.vote = vote;
+    }
+
+    public Review(String summary)
+    {
+        this.summary = summary;
+    }
+
+    public Integer getVote()
+    {
+        return vote;
+    }
+
+    public void setVote(Integer vote)
+    {
+        this.vote = vote;
+    }
+
+    public Integer getFkMedium()
+    {
+        return fkMedium;
+    }
+
+    public String getSummary()
+    {
+        return summary;
+    }
+
+    public void setSummary(String summary)
+    {
+        this.summary = summary;
+    }
+
+    public Author getAuthor()
+    {
+        return author;
+    }
+
+    public void setAuthor(Author author)
+    {
+        this.author = author;
+    }
+
+    public Medium getMedium()
+    {
+        return medium;
+    }
+
+    public void setMedium(Medium medium)
+    {
+        if(this.medium != medium)
+        {
+            Medium old = this.medium;
+            this.medium = medium;
+            if(medium != null)
+            {
+                medium.addReview(this);
+            }
+            if(old != null)
+            {
+                old.removeReview(this);
+            }
+        }
+    }
+
+    public String toString()
+    {
+        return ToStringBuilder.reflectionToString(this,
+                ToStringStyle.MULTI_LINE_STYLE, false);
+    }
+}

Added: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java?rev=593197&amp;view=auto
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java
(added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java
Thu Nov  8 07:29:20 2007
@@ -0,0 +1,99 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.lang.Object;
+import java.util.Date;
+
+import junit.framework.TestCase;
+import org.apache.ojb.broker.PersistenceBroker;
+import org.apache.ojb.broker.PersistenceBrokerFactory;
+import org.apache.ojb.broker.platforms.Platform;
+
+/**
+ * This class
+ *
+ * @version $Id$
+ */
+public class SampleTest extends TestCase
+{
+    public PersistenceBroker broker;
+    byte[] cover = new byte[]{10,11,12,13,14,15,16,17,18,19,20};
+
+    public void test_A()
+    {
+        String name = ojbTestMethodIdentifier();
+
+        ProductGroup pg = new ProductGroup(name);
+        Book book = new Book(name, new Date(), cover);
+        CD cd = new CD(name, new Date(), cover);
+        DVD dvd = new DVD(name, new Date(), cover);
+        pg.addMedium(book);
+        pg.addMedium(cd);
+        pg.addMedium(dvd);
+        Review review_book_1 = new Review(name, new Integer(5), book);
+        Review review_book_2 = new Review(name, new Integer(6), book);
+        Review review_book_3 = new Review(name, new Integer(6), book);
+        Review review_dvd_1 = new Review(name, new Integer(6), dvd);
+
+    }
+
+    public void setUp() throws Exception
+    {
+        super.setUp();
+        assertNotNull(broker = PersistenceBrokerFactory.defaultPersistenceBroker());
+        // enable batch mode for all used PB instances
+        broker.serviceConnectionManager().setBatchMode(true);
+    }
+
+    public void tearDown() throws Exception
+    {
+        if(broker != null)
+        {
+            try
+            {
+                if(broker.isInTransaction()) broker.abortTransaction();
+                broker.close();
+            }
+            catch(Exception ignore)
+            {
+            }
+        }
+        super.tearDown();
+    }
+
+    /**
+     * Returns a string based identifier for the current test compounded by
+     * test method name and current system time:
+     * &lt;br/&gt;
+     * _testMethodName_123349886_
+     *
+     * @return A string based test method identifier.
+     */
+    String ojbTestMethodIdentifier()
+    {
+        return "_" + getName() + "_" + System.currentTimeMillis() + "_";
+    }
+
+    public static void main(String[] args)
+    {
+        junit.textui.TestRunner.main(new String[]{SampleTest.class.getName()});
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r592990 - in /db/ojb/trunk/lib: DdlUtils-1.0-RC1.jar DdlUtils-1.0.jar xdoclet-ojb-module-1.2.3.jar</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200711.mbox/%3c20071108011429.6CCD01A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20071108011429-6CCD01A9832@eris-apache-org%3e</id>
<updated>2007-11-08T01:14:29Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Wed Nov  7 17:14:28 2007
New Revision: 592990

URL: http://svn.apache.org/viewvc?rev=592990&amp;view=rev
Log:
update libraries

Added:
    db/ojb/trunk/lib/DdlUtils-1.0.jar   (with props)
Removed:
    db/ojb/trunk/lib/DdlUtils-1.0-RC1.jar
Modified:
    db/ojb/trunk/lib/xdoclet-ojb-module-1.2.3.jar

Added: db/ojb/trunk/lib/DdlUtils-1.0.jar
URL: http://svn.apache.org/viewvc/db/ojb/trunk/lib/DdlUtils-1.0.jar?rev=592990&amp;view=auto
==============================================================================
Binary file - no diff available.

Propchange: db/ojb/trunk/lib/DdlUtils-1.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: db/ojb/trunk/lib/xdoclet-ojb-module-1.2.3.jar
URL: http://svn.apache.org/viewvc/db/ojb/trunk/lib/xdoclet-ojb-module-1.2.3.jar?rev=592990&amp;r1=592989&amp;r2=592990&amp;view=diff
==============================================================================
Binary files - no diff available.



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r592989 - /db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200711.mbox/%3c20071108010736.35F481A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20071108010736-35F481A9832@eris-apache-org%3e</id>
<updated>2007-11-08T01:07:36Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Wed Nov  7 17:07:35 2007
New Revision: 592989

URL: http://svn.apache.org/viewvc?rev=592989&amp;view=rev
Log:
prepare first test - TODO: add tests

Modified:
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java

Modified: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java?rev=592989&amp;r1=592988&amp;r2=592989&amp;view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java (original)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java Wed Nov  7
17:07:35 2007
@@ -35,9 +35,9 @@
 {
     public PersistenceBroker broker;
 
-    public static void main(String[] args)
+    public void test_A()
     {
-        junit.textui.TestRunner.main(new String[]{SampleTest.class.getName()});
+        //TODO
     }
 
     public void setUp() throws Exception
@@ -45,7 +45,7 @@
         super.setUp();
         assertNotNull(broker = PersistenceBrokerFactory.defaultPersistenceBroker());
         // enable batch mode for all used PB instances
-        broker.serviceConnectionManager().setBatchMode(true);
+        broker.serviceBatchManager().setBatchMode(true);
     }
 
     public void tearDown() throws Exception
@@ -64,11 +64,6 @@
         super.tearDown();
     }
 
-    public void test_A()
-    {
-
-    }
-
     /**
      * Returns a string based identifier for the current test compounded by
      * test method name and current system time:
@@ -80,5 +75,10 @@
     String ojbTestMethodIdentifier()
     {
         return "_" + getName() + "_" + System.currentTimeMillis() + "_";
+    }
+
+    public static void main(String[] args)
+    {
+        junit.textui.TestRunner.main(new String[]{SampleTest.class.getName()});
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r592987 [2/2] - in /db/ojb/trunk/src/xdoclet: ./ java/src/xdoclet/modules/ojb/ java/src/xdoclet/modules/ojb/constraints/ sample/ sample/java/ sample/java/org/ sample/java/org/apache/ sample/java/org/apache/ojb/ sample/java/org/apache/ojb/sa...</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200711.mbox/%3c20071108010304.5BB161A983A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20071108010304-5BB161A983A@eris-apache-org%3e</id>
<updated>2007-11-08T01:03:01Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java Wed Nov  7
17:02:59 2007
@@ -0,0 +1,84 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.lang.Object;
+
+import junit.framework.TestCase;
+import org.apache.ojb.broker.PersistenceBroker;
+import org.apache.ojb.broker.PersistenceBrokerFactory;
+import org.apache.ojb.broker.platforms.Platform;
+
+/**
+ * This class
+ *
+ * @version $Id$
+ */
+public class SampleTest extends TestCase
+{
+    public PersistenceBroker broker;
+
+    public static void main(String[] args)
+    {
+        junit.textui.TestRunner.main(new String[]{SampleTest.class.getName()});
+    }
+
+    public void setUp() throws Exception
+    {
+        super.setUp();
+        assertNotNull(broker = PersistenceBrokerFactory.defaultPersistenceBroker());
+        // enable batch mode for all used PB instances
+        broker.serviceConnectionManager().setBatchMode(true);
+    }
+
+    public void tearDown() throws Exception
+    {
+        if(broker != null)
+        {
+            try
+            {
+                if(broker.isInTransaction()) broker.abortTransaction();
+                broker.close();
+            }
+            catch(Exception ignore)
+            {
+            }
+        }
+        super.tearDown();
+    }
+
+    public void test_A()
+    {
+
+    }
+
+    /**
+     * Returns a string based identifier for the current test compounded by
+     * test method name and current system time:
+     * &lt;br/&gt;
+     * _testMethodName_123349886_
+     *
+     * @return A string based test method identifier.
+     */
+    String ojbTestMethodIdentifier()
+    {
+        return "_" + getName() + "_" + System.currentTimeMillis() + "_";
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r592987 [1/2] - in /db/ojb/trunk/src/xdoclet: ./ java/src/xdoclet/modules/ojb/ java/src/xdoclet/modules/ojb/constraints/ sample/ sample/java/ sample/java/org/ sample/java/org/apache/ sample/java/org/apache/ojb/ sample/java/org/apache/ojb/sa...</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200711.mbox/%3c20071108010304.400BD1A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20071108010304-400BD1A9832@eris-apache-org%3e</id>
<updated>2007-11-08T01:03:01Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Wed Nov  7 17:02:59 2007
New Revision: 592987

URL: http://svn.apache.org/viewvc?rev=592987&amp;view=rev
Log:
synchronize with OJB_1_0_RELEASE branch

Added:
    db/ojb/trunk/src/xdoclet/ojb-doclipse.xml
    db/ojb/trunk/src/xdoclet/sample/
    db/ojb/trunk/src/xdoclet/sample/java/
    db/ojb/trunk/src/xdoclet/sample/java/org/
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
    db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/SampleTest.java
Removed:
    db/ojb/trunk/src/xdoclet/ojb.xml
Modified:
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbMemberTagsHandler.java
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbTagsHandler.java
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/CollectionDescriptorConstraints.java
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ReferenceDescriptorConstraints.java

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbMemberTagsHandler.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbMemberTagsHandler.java?rev=592987&amp;r1=592986&amp;r2=592987&amp;view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbMemberTagsHandler.java (original)
+++ db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbMemberTagsHandler.java Wed Nov  7 17:02:59 2007
@@ -1,20 +1,25 @@
 package xdoclet.modules.ojb;
 
-/* Copyright 2003-2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one 
+ * or more contributor license agreements.  See the NOTICE file 
+ * distributed with this work for additional information 
+ * regarding copyright ownership.  The ASF licenses this file 
+ * to you under the Apache License, Version 2.0 (the 
+ * "License"); you may not use this file except in compliance 
+ * with the License.  You may obtain a copy of the License at 
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, 
+ * software distributed under the License is distributed on an 
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
+ * KIND, either express or implied.  See the License for the 
+ * specific language governing permissions and limitations 
+ * under the License.
  */
 
+
 import java.util.*;
 
 import xjavadoc.*;
@@ -48,6 +53,25 @@
         }
         else if (getCurrentMethod() != null) {
             return MethodTagsHandler.getPropertyNameFor(getCurrentMethod());
+        }
+        else {
+            return null;
+        }
+    }
+
+    /**
+     * Returns the name of the current member class.
+     *
+     * @return                      The member class name
+     * @exception XDocletException  if an error occurs
+     */
+    public static String getMemberClassName() throws XDocletException
+    {
+        if (getCurrentField() != null) {
+            return getCurrentField().getContainingClass().getQualifiedName();
+        }
+        else if (getCurrentMethod() != null) {
+            return getCurrentMethod().getContainingClass().getQualifiedName();
         }
         else {
             return null;

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbTagsHandler.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbTagsHandler.java?rev=592987&amp;r1=592986&amp;r2=592987&amp;view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbTagsHandler.java (original)
+++ db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/OjbTagsHandler.java Wed Nov  7 17:02:59 2007
@@ -1781,7 +1781,12 @@
     {
         if (OjbMemberTagsHandler.getMemberDimension() &gt; 0)
         {
-            return JdbcTypeHelper.JDBC_DEFAULT_CONVERSION;
+            LogHelper.warn(true, OjbTagsHandler.class, "getDefaultJdbcConversionForCurrentMember",
+                    "Class '" + OjbMemberTagsHandler.getMemberClassName()
+                            + ", field '" + OjbMemberTagsHandler.getMemberName()
+                            + "': Array type detected, a FieldConversion NEEDED?");
+            //return JdbcTypeHelper.JDBC_DEFAULT_CONVERSION;
+            return null;
         }
 
         String type = OjbMemberTagsHandler.getMemberType().getQualifiedName();

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java?rev=592987&amp;r1=592986&amp;r2=592987&amp;view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java (original)
+++ db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java Wed Nov  7 17:02:59 2007
@@ -458,7 +458,12 @@
         }
         catch (ClassNotFoundException ex)
         {
-            throw new ConstraintException("Could not find the class "+ex.getMessage()+" on the classpath while checking the row-reader class "+rowReaderName+" of class "+classDef.getName());
+            // throw new ConstraintException("Could not find the class "+ex.getMessage()+" on the classpath while checking the row-reader class "+rowReaderName+" of class "+classDef.getName());
+            LogHelper.warn(true,
+                           ClassDescriptorConstraints.class,
+                           "checkRowReader",
+                           "Class '" + classDef.getQualifiedName() + "', RowReader name '"
+                                   + rowReaderName + "' can't be resolved - SHORTCUT NAME or typo?");
         }
     }
 
@@ -501,7 +506,12 @@
         }
         catch (ClassNotFoundException ex)
         {
-            throw new ConstraintException("Could not find the class "+ex.getMessage()+" on the classpath while checking the object-cache class "+objectCacheName+" of class "+classDef.getName());
+            //throw new ConstraintException("Could not find the class "+ex.getMessage()+" on the classpath while checking the object-cache class "+objectCacheName+" of class "+classDef.getName());
+            LogHelper.warn(true,
+                           ClassDescriptorConstraints.class,
+                           "checkObjectCache",
+                           "Class '" + classDef.getQualifiedName() + "', ObjectCache name '"
+                                   + objectCacheName + "' can't be resolved - SHORTCUT NAME or typo?");
         }
     }
 

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/CollectionDescriptorConstraints.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/CollectionDescriptorConstraints.java?rev=592987&amp;r1=592986&amp;r2=592987&amp;view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/CollectionDescriptorConstraints.java (original)
+++ db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/CollectionDescriptorConstraints.java Wed Nov  7 17:02:59 2007
@@ -1,27 +1,33 @@
 package xdoclet.modules.ojb.constraints;
 
 import xdoclet.modules.ojb.CommaListIterator;
+import xdoclet.modules.ojb.LogHelper;
 import xdoclet.modules.ojb.model.ClassDescriptorDef;
 import xdoclet.modules.ojb.model.CollectionDescriptorDef;
 import xdoclet.modules.ojb.model.FieldDescriptorDef;
 import xdoclet.modules.ojb.model.ModelDef;
 import xdoclet.modules.ojb.model.PropertyHelper;
 
-/* Copyright 2004-2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one 
+ * or more contributor license agreements.  See the NOTICE file 
+ * distributed with this work for additional information 
+ * regarding copyright ownership.  The ASF licenses this file 
+ * to you under the Apache License, Version 2.0 (the 
+ * "License"); you may not use this file except in compliance 
+ * with the License.  You may obtain a copy of the License at 
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0 
+ * 
+ * Unless required by applicable law or agreed to in writing, 
+ * software distributed under the License is distributed on an 
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
+ * KIND, either express or implied.  See the License for the 
+ * specific language governing permissions and limitations 
+ * under the License.
  */
 
+
 /**
  * Checks constraints for collection descriptors. Note that constraints may modify the collection descriptor.
  * For checks of the relationships (e.g. foreignkey) see ModelConstraints.
@@ -212,7 +218,13 @@
             }
             catch (ClassNotFoundException ex)
             {
-                throw new ConstraintException("Could not find the class "+ex.getMessage()+" on the classpath while checking the collection "+collDef.getName()+" in class "+collDef.getOwner().getName());
+                // throw new ConstraintException("Could not find the class "+ex.getMessage()+" on the classpath while checking the collection "+collDef.getName()+" in class "+collDef.getOwner().getName());
+                LogHelper.warn(true,
+                           CollectionDescriptorConstraints.class,
+                           "ensureCollectionClass",
+                           "Class '" + collDef.getOwner().getName() + "', field '" + collDef.getName()
+                                   + "': Specified collection-class '" + specifiedClass
+                                   + "' can't be resolved - SHORTCUT NAME or typo?");
             }
         }
     }

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java?rev=592987&amp;r1=592986&amp;r2=592987&amp;view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java (original)
+++ db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java Wed Nov  7 17:02:59 2007
@@ -1,12 +1,12 @@
 package xdoclet.modules.ojb.constraints;
 
 import java.util.HashMap;
+import java.util.Locale;
 
 import xdoclet.modules.ojb.LogHelper;
 import xdoclet.modules.ojb.model.FieldDescriptorDef;
 import xdoclet.modules.ojb.model.PropertyHelper;
 import xdoclet.modules.ojb.model.ClassDescriptorDef;
-import org.apache.commons.lang.SystemUtils;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one 
@@ -71,6 +71,7 @@
         _jdbcTypes.put("REF", null);
         _jdbcTypes.put("BOOLEAN", null);
         _jdbcTypes.put("DATALINK", null);
+        _jdbcTypes.put("JAVA_OBJECT", null);
     }
 
     /**
@@ -165,10 +166,10 @@
             }
 
             fieldDef.setProperty(PropertyHelper.OJB_PROPERTY_JDBC_TYPE, fieldDef.getProperty(PropertyHelper.OJB_PROPERTY_DEFAULT_JDBC_TYPE));
-            if (!fieldDef.hasProperty(PropertyHelper.OJB_PROPERTY_CONVERSION) &amp;&amp; fieldDef.hasProperty(PropertyHelper.OJB_PROPERTY_DEFAULT_CONVERSION))
-            {
-                fieldDef.setProperty(PropertyHelper.OJB_PROPERTY_CONVERSION, fieldDef.getProperty(PropertyHelper.OJB_PROPERTY_DEFAULT_CONVERSION));
-            }
+//            if (!fieldDef.hasProperty(PropertyHelper.OJB_PROPERTY_CONVERSION) &amp;&amp; fieldDef.hasProperty(PropertyHelper.OJB_PROPERTY_DEFAULT_CONVERSION))
+//            {
+//                fieldDef.setProperty(PropertyHelper.OJB_PROPERTY_CONVERSION, fieldDef.getProperty(PropertyHelper.OJB_PROPERTY_DEFAULT_CONVERSION));
+//            }
         }
         else
         {
@@ -178,13 +179,22 @@
 
             if (!_jdbcTypes.containsKey(jdbcType))
             {
-                throw new ConstraintException("The field "+fieldDef.getName()+" in class "+fieldDef.getOwner().getName()+" specifies the invalid jdbc type "+jdbcType);
+                if(!_jdbcTypes.containsKey(jdbcType.toUpperCase(Locale.ENGLISH)))
+                {
+                    throw new ConstraintException("The field "+fieldDef.getName()+" in class "+fieldDef.getOwner().getName()+" specifies the invalid jdbc type "+jdbcType);
+                }
+                else
+                {
+                    // replace with correct upper case
+                    fieldDef.setProperty(PropertyHelper.OJB_PROPERTY_JDBC_TYPE, jdbcType.toUpperCase(Locale.ENGLISH));
+                }
             }
         }
     }
 
     /**
-     * Constraint that ensures that the field has a conversion if the java type requires it. Also checks the conversion class.
+     * Constraint that ensures that the field has a conversion if the java type requires it.
+     * Also checks the conversion class.
      * 
      * @param fieldDef   The field descriptor
      * @param checkLevel The current check level (this constraint is checked in basic (partly) and strict)
@@ -234,7 +244,12 @@
             }
             catch (ClassNotFoundException ex)
             {
-                throw new ConstraintException("The class "+ex.getMessage()+" hasn't been found on the classpath while checking the conversion class specified for field "+fieldDef.getName()+" in class "+fieldDef.getOwner().getName());
+                //throw new ConstraintException("The class "+ex.getMessage()+" hasn't been found on the classpath while checking the conversion class specified for field "+fieldDef.getName()+" in class "+fieldDef.getOwner().getName());
+                LogHelper.warn(true,
+                           FieldDescriptorConstraints.class,
+                           "ensureConversion",
+                           "Class '"+fieldDef.getOwner().getName() + "', field '" + fieldDef.getName() +
+                               "': FieldConversion class '" + conversionClass + "' can't be resolved - SHORTCUT NAME or typo?");
             }
         }
 }

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ReferenceDescriptorConstraints.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ReferenceDescriptorConstraints.java?rev=592987&amp;r1=592986&amp;r2=592987&amp;view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ReferenceDescriptorConstraints.java (original)
+++ db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ReferenceDescriptorConstraints.java Wed Nov  7 17:02:59 2007
@@ -122,10 +122,12 @@
                         {
                             // no, so defer the check but issue a warning
                             performCheck = false;
-                            LogHelper.warn(true,
-                                           getClass(),
-                                           "ensureClassRef",
-                                           "Cannot check whether the type "+targetClassDef.getQualifiedName()+" specified as class-ref at reference "+refDef.getName()+" in class "+ownerClassDef.getName()+" is assignable to the declared type "+varType+" of the reference because this variable type cannot be found in source or on the classpath");
+                            LogHelper.warn(true, getClass(), "ensureClassRef",
+                                    "Cannot check whether the type " + targetClassDef.getQualifiedName()
+                                            + " specified as class-ref at reference " + refDef.getName()
+                                            + " in class "+ownerClassDef.getName()
+                                            + " is assignable to the declared type " + varType
+                                            + " of the reference because this variable type cannot be found in source or on the classpath");
                         }
                     }
                     if (performCheck &amp;&amp; !helper.isSameOrSubTypeOf(targetClassDef, varType, true))

Added: db/ojb/trunk/src/xdoclet/ojb-doclipse.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/ojb-doclipse.xml?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/ojb-doclipse.xml (added)
+++ db/ojb/trunk/src/xdoclet/ojb-doclipse.xml Wed Nov  7 17:02:59 2007
@@ -0,0 +1,552 @@
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+
+&lt;!--
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+--&gt;
+
+&lt;!-- @version $Id: ojb-doclipse.xml 592984 2007-11-08 00:48:47Z arminw $ --&gt;
+&lt;!-- OJB's Doclipse definition file. See http://beust.com/doclipse/ --&gt;
+
+&lt;doclipse&gt;
+    &lt;description&gt;Tags for the OJB XDoclet module&lt;/description&gt;
+
+    &lt;tag name="@ojb.class"
+         target="class"
+         doc="Declares that this class is persistent via OJB"&gt;
+        &lt;attribute name="accept-locks"
+                   allowed="true false"
+                   doc="For ODMG: specifies whether implicit locks propagate to this class, with a value of false, this class can never be locked; default value is 'true'"/&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes of the class as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="determine-extents"
+                   allowed="true false"
+                   doc="Whether the XDoclet OJB module should determine the extents (direct subtypes); default value is 'true'"/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the class"/&gt;
+        &lt;attribute name="factory-class"
+                   doc="A different class that is used to create instances of this class"/&gt;
+        &lt;attribute name="factory-method"
+                   doc="A usually static method in the factory-class that creates new instances of this class"/&gt;
+        &lt;attribute name="generate-table-info"
+                   allowed="true false"
+                   doc="Whether this class should be present in the database"/&gt;
+        &lt;attribute name="include-inherited"
+                   allowed="true false"
+                   doc="Whether the XDoclet OJB module should automatically copy all persistent fields/references/collections from the superclasses into the descriptor for this class; default value is 'true'"/&gt;
+        &lt;attribute name="initialization-method"
+                   doc="This method will be called whenever a new instance of this class has been created by OJB"/&gt;
+        &lt;attribute name="isolation-level"
+                   allowed="read-uncommitted read-committed repeatable-read serializable optimistic none"
+                   doc="For ODMG: the transactional isolation level; default is 'read-uncommitted'"/&gt;
+        &lt;attribute name="proxy"
+                   doc="Determines whether proxies are used for instances of this class; can be 'dynamic' for automatic dynamic proxies, or the fully qualified class name of the proxy class to use"/&gt;
+        &lt;attribute name="proxy-prefetching-limit"
+                   doc="Determines how many objects are prefetched when a collection of this type is read from the database; use 0 to turn this off"/&gt;
+        &lt;attribute name="refresh"
+                   allowed="true false"
+                   doc="Forces OJB to refresh instances of this type when loaded from the cache; default value is 'false'"/&gt;
+        &lt;attribute name="row-reader"
+                   doc="Gives the fully qualified name of the class that reads instances of this class from the database"/&gt;
+        &lt;attribute name="schema"
+                   doc="Contains the database schema owning the table mapped to this class"/&gt;
+        &lt;attribute name="table"
+                   doc="The database table onto which this class is mapped"/&gt;
+        &lt;attribute name="field-class"
+                   doc="The field-class attribute can be used to override the PersistentField implementation class.
+                   OJB's shortcut name feature is supported."/&gt;
+        &lt;attribute name="state-detection"
+                   allowed="on off inherit"
+                   doc="The state-detection attribute is used by API's supporting automatic state detection of
+                   persistence capable objects (automatic detection of changed object fields - e.g. like
+                   the ODMG implementation). The attribute indicate whether or not the object state detection
+                   is enabled for this class or if it's inherited from a higher level entity."/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.object-cache"
+         target="class"
+         doc="Specifies which object cache implementation shall be used for this class"&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes for the object cache instance as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="class"
+                   required="true"
+                   doc="Specifies the fully qualified name of the object cache implementation class. OJB's shortcut name feature is supported"/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the object cache"/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.extent-class"
+         target="class"
+         doc="Specifies an extent, a subclass with an @ojb.class tag. This tag is only evaluated if the value of the determine-extents attribute of this class is set to 'false'"&gt;
+        &lt;attribute name="class-ref"
+                   doc="The fully qualified name of the subclass"/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.modify-inherited"
+         target="class"
+         doc="Use this tag to modify attributes of inherited fields/references/collections"&gt;
+        &lt;attribute name="access"
+                   allowed="readonly readwrite"
+                   doc="For fields: modifies the 'access' attribute of the inherited feature"/&gt;
+        &lt;attribute name="attributes"
+                   doc="For fields, references, collections: modifies the 'attributes' attribute of the inherited feature"/&gt;
+        &lt;attribute name="autoincrement"
+                   allowed="none ojb database"
+                   doc="For fields: modifies the 'autoincrement' attribute of the inherited feature"/&gt;
+        &lt;attribute name="auto-delete"
+                   allowed="none link object true false"
+                   doc="For references, collections: modifies the 'auto-delete' attribute of the inherited feature"/&gt;
+        &lt;attribute name="auto-retrieve"
+                   allowed="true false"
+                   doc="For references, collections: modifies the 'auto-retrieve' attribute of the inherited feature"/&gt;
+        &lt;attribute name="auto-update"
+                   allowed="true false none link create object"
+                   doc="For references, collections: modifies the 'auto-update' attribute of the inherited feature"/&gt;
+        &lt;attribute name="class-ref"
+                   doc="For references: modifies the 'class-ref' attribute of the inherited feature"/&gt;
+        &lt;attribute name="collection-class"
+                   doc="For collections: modifies the 'collection-class' attribute of the inherited feature"/&gt;
+        &lt;attribute name="column"
+                   doc="For fields: modifies the 'column' attribute of the inherited feature"/&gt;
+        &lt;attribute name="conversion"
+                   doc="For fields: modifies the 'conversion' attribute of the inherited feature"/&gt;
+        &lt;attribute name="default-fetch"
+                   allowed="true false"
+                   doc="For fields: modifies the 'default-fetch' attribute of the inherited feature"/&gt;
+        &lt;attribute name="documentation"
+                   doc="For fields, references, collections: modifies the 'documentation' attribute of the inherited feature"/&gt;
+        &lt;attribute name="element-class-ref"
+                   doc="For collections: modifies the 'element-class-ref' attribute of the inherited feature"/&gt;
+        &lt;attribute name="foreignkey"
+                   required="true"
+                   doc="For references, collections: modifies the 'foreignkey' attribute of the inherited feature"/&gt;
+        &lt;attribute name="id"
+                   doc="For fields: modifies the 'id' attribute of the inherited feature"/&gt;
+        &lt;attribute name="indexed"
+                   allowed="true false"
+                   doc="For fields: modifies the 'indexed' attribute of the inherited feature"/&gt;
+        &lt;attribute name="jdbc-type"
+                   allowed="BIT BOOLEAN TINYINT SMALLINT INTEGER BIGINT DOUBLE FLOAT REAL NUMERIC DECIMAL CHAR VARCHAR LONGVARCHAR DATE TIME TIMESTAMP BINARY VARBINARY LONGVARBINARY CLOB BLOB STRUCT ARRAY REF DATALINK JAVA_OBJECT"
+                   doc="For fields: modifies the 'jdbc-type' attribute of the inherited feature"/&gt;
+        &lt;attribute name="length"
+                   doc="For fields: modifies the 'length' attribute of the inherited feature"/&gt;
+        &lt;attribute name="locking"
+                   allowed="true false"
+                   doc="For fields: modifies the 'locking' attribute of the inherited feature"/&gt;
+        &lt;attribute name="name"
+                   required="true"
+                   doc="The name of the inherited feature that will be modified for the current class"/&gt;
+        &lt;attribute name="nullable"
+                   allowed="true false"
+                   doc="For fields: modifies the 'nullable' attribute of the inherited feature"/&gt;
+        &lt;attribute name="orderby"
+                   doc="For collection: modifies the 'orderby' attribute of the inherited feature"/&gt;
+        &lt;attribute name="otm-dependent"
+                   allowed="true false"
+                   doc="DEPRECATED! For references, collections: modifies the 'otm-dependent' attribute of the inherited feature"/&gt;
+        &lt;attribute name="precision"
+                   doc="For fields: modifies the 'precision' attribute of the inherited feature"/&gt;
+        &lt;attribute name="primarykey"
+                   allowed="true false"
+                   doc="For fields: modifies the 'primarykey' attribute of the inherited feature"/&gt;
+        &lt;attribute name="proxy"
+                   allowed="true false"
+                   doc="For references, collections: modifies the 'proxy' attribute of the inherited feature"/&gt;
+        &lt;attribute name="proxy-prefetching-limit"
+                   doc="For references, collections: modifies the 'proxy-prefetching-limit' attribute of the inherited feature"/&gt;
+        &lt;attribute name="refresh"
+                   allowed="true false"
+                   doc="For references, collections: modifies the 'refresh' attribute of the inherited feature"/&gt;
+        &lt;attribute name="scale"
+                   doc="For fields: modifies the 'scale' attribute of the inherited feature"/&gt;
+        &lt;attribute name="sequence-name"
+                   doc="For fields: modifies the 'sequence-name' attribute of the inherited feature"/&gt;
+        &lt;attribute name="table"
+                   doc="Overrides the table attribute of the field tag"/&gt;
+        &lt;attribute name="update-lock"
+                   allowed="true false"
+                   doc="For fields: modifies the 'update-lock' attribute of the inherited feature"/&gt;
+        &lt;attribute name="isolation-level"
+                   allowed="read-uncommitted read-committed repeatable-read serializable optimistic none"
+                   doc="For ODMG: the transactional isolation level; default is 'read-uncommitted'"/&gt;
+        &lt;attribute name="state-detection"
+                   allowed="on off inherit"
+                   doc="The state-detection attribute is used by API's supporting automatic state detection of
+                   persistence capable objects (automatic detection of changed object fields - e.g. like
+                   the ODMG implementation). The attribute indicate whether or not the object state detection
+                   is enabled for this class or if it's inherited from a higher level entity."/&gt;
+        &lt;attribute name="field-class"
+                   doc="The field-class attribute can be used to override the PersistentField implementation class.
+                   OJB's shortcut name feature is supported."/&gt;
+        &lt;attribute name="query-customizer"
+                   doc="For collections: modifies the 'query-customizer' attribute of the inherited feature"/&gt;
+        &lt;attribute name="query-customizer-attributes"
+                   doc="For collections: modifies the 'query-customizer-attributes' attribute of the inherited feature"/&gt;
+        &lt;attribute name="ignore"
+                   allowed="true false"
+                   doc="If set to 'true', then the feature will not be included in the class descriptor for the current class. Default value is 'false'"/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.index"
+         target="class"
+         doc="Defines an index for this class"&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the index"/&gt;
+        &lt;attribute name="fields"
+                   required="true"
+                   doc="Specifies the fields of this class in a comma-separated list that make up the index"/&gt;
+        &lt;attribute name="name"
+                   required="true"
+                   doc="The name of the index"/&gt;
+        &lt;attribute name="unique"
+                   allowed="true false"
+                   doc="Whether this is a unique index; default value is 'false'"/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.field"
+         target="class method field"
+         doc="Declares a persistent field"&gt;
+        &lt;attribute name="access"
+                   allowed="readonly readwrite"
+                   doc="Specifies whether OJB can modify the value of the column that corresponds to this field"/&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes of the field as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="autoincrement"
+                   allowed="none ojb database"
+                   doc="Defines the source of the value for this field. 'None' means that the value is application-provided, with 'ojb' the value is generated by the current sequence manager, and 'database' stands for a value that is generated by the database. Default value is 'none'"/&gt;
+        &lt;attribute name="column"
+                   doc="The database column that this field is mapped to"/&gt;
+        &lt;attribute name="conversion"
+                   doc="Specifies a class that converts the field value to the type of the column and vice versa"/&gt;
+        &lt;attribute name="default-fetch"
+                   allowed="true false"
+                   doc="For JDO: Whether this field belongs to a JDO default fetch group; default value is 'false'"/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the field"/&gt;
+        &lt;attribute name="id"
+                   doc="Gives the ordering of the fields in the generated descriptor"/&gt;
+        &lt;attribute name="indexed"
+                   allowed="true false"
+                   doc="Specifies whether there is an index on this field (the default index). Default value is 'false'"/&gt;
+        &lt;attribute name="jdbc-type"
+                   allowed="BIT BOOLEAN TINYINT SMALLINT INTEGER BIGINT DOUBLE FLOAT REAL NUMERIC DECIMAL CHAR VARCHAR LONGVARCHAR DATE TIME TIMESTAMP BINARY VARBINARY LONGVARBINARY CLOB BLOB STRUCT ARRAY REF DATALINK JAVA_OBJECT"
+                   doc="The jdbc type of the column corresponding to this field"/&gt;
+        &lt;attribute name="length"
+                   doc="Gives the length setting if the jdbc type of the column requires it"/&gt;
+        &lt;attribute name="locking"
+                   allowed="true false"
+                   doc="Declares that this field is used for optimistic locking. Can only be set for field with a jdbc type of TIMESTAMP or INTEGER. Default value is 'false'"/&gt;
+        &lt;attribute name="name"
+                   doc="The name of the field. Only relevant for anonymous fields which are declared in the javadoc of the class because they have no corresponding java field"/&gt;
+        &lt;attribute name="nullable"
+                   allowed="true false"
+                   doc="Whether the column corresponding to this field can contain 'null' values"/&gt;
+        &lt;attribute name="precision"
+                   doc="Gives the precision setting if the jdbc type of the column requires it"/&gt;
+        &lt;attribute name="primarykey"
+                   allowed="true false"
+                   doc="Whether this field is part of the primarykey of the class. Default value is 'false'"/&gt;
+        &lt;attribute name="scale"
+                   doc="Gives the scale setting if the jdbc type of the column requires it"/&gt;
+        &lt;attribute name="sequence-name"
+                   doc="The name of the sequence that gives the values for this field if autoincrement is set to 'ojb'"/&gt;
+        &lt;attribute name="update-lock"
+                   allowed="true false"
+                   doc="If locking is set to 'true' then this attribute specifies whether OJB will update this locking field or the database. Default is 'true' meaning that OJB does the update"/&gt;
+        &lt;attribute name="state-detection"
+                   allowed="on off inherit"
+                   doc="The state-detection attribute is used by API's supporting automatic state detection of
+                   persistence capable objects (automatic detection of changed object fields - e.g. like
+                   the ODMG implementation). The attribute indicate whether or not the object state detection
+                   is enabled for this class or if it's inherited from a higher level entity."/&gt;
+        &lt;attribute name="field-class"
+                   doc="The field-class attribute can be used to override the PersistentField implementation class.
+                   OJB's shortcut name feature is supported."/&gt;
+    &lt;/tag&gt;
+    &lt;tag name="@ojb.reference"
+         target="class method field"
+         doc=""&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes of the reference as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="auto-delete"
+                   allowed="none link object true false"
+                   doc="Specifies what OJB should do with the referenced object when deleting an instance of this class from the database; default value is 'false'"/&gt;
+        &lt;attribute name="auto-retrieve"
+                   allowed="true false"
+                   doc="Specifies whether OJB should also load the referenced object when loading an instance of this class from the database; default value is 'true'"/&gt;
+        &lt;attribute name="auto-update"
+                   allowed="none link create object true false"
+                   doc="Specifies what OJB should do with the referenced object when udpating an instance of this class in the database; default value is 'false'"/&gt;
+        &lt;attribute name="class-ref"
+                   doc="The fully qualified name of the referenced class. Should only be necessary when if the declared class is different from actual referenced class"/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the reference"/&gt;
+        &lt;attribute name="foreignkey"
+                   required="true"
+                   doc="Specifies the fields (comma-separated list) in this class that hold the primarykey value of the referenced object"/&gt;
+        &lt;attribute name="otm-dependent"
+                   allowed="true false"
+                   doc="Specifies whether the OTM layer automatically creates the referred object or deletes it if the reference field is set to null. Default value is 'false'"/&gt;
+        &lt;attribute name="proxy"
+                   allowed="true false"
+                   doc="Whether to use proxy-based lazy loading for this reference. Default value is 'false'"/&gt;
+        &lt;attribute name="proxy-prefetching-limit"
+                   doc="Specifies how many objects are prefetched when loading the reference for the first instance of this class when part of some collection. Set to 0 to disable this"/&gt;
+        &lt;attribute name="refresh"
+                   allowed="true false"
+                   doc="Forces OJB to refresh the reference when the object is reloaded; default value is 'false'"/&gt;
+    &lt;/tag&gt;
+    &lt;tag name="@ojb.collection"
+         target="method field"
+         doc=""&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes of the collection as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="auto-delete"
+                   allowed="none link object true false"
+                   doc="Specifies what OJB should do with the collection elements when deleting an instance of this class from the database; default value is 'false'"/&gt;
+        &lt;attribute name="auto-retrieve"
+                   allowed="true false"
+                   doc="Specifies whether OJB should also load the elements of the collection when loading an instance of this class from the database; default value is 'true'"/&gt;
+        &lt;attribute name="auto-update"
+                   allowed="none link create object true false"
+                   doc="Specifies what OJB should do with the collection elements when updating an instance of this class in the database; default value is 'false'"/&gt;
+        &lt;attribute name="collection-class"
+                   doc="Gives the fully qualified name of the class that realizes the collection. OJB's shortcut name feature is supported."/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the collection"/&gt;
+        &lt;attribute name="element-class-ref"
+                   doc="The fully qualified name of the type of the elements which is required to have an @ojb.class tag"/&gt;
+        &lt;attribute name="foreignkey"
+                   required="true"
+                   doc="Specifies a comma-separated list of the fields in the element type (1:n collection) or columns in the indirection table (m:n collection) that point to this class by containing the primarykey value"/&gt;
+        &lt;attribute name="indirection-table"
+                   doc="Contains the name of the indirection table for m:n collections"/&gt;
+        &lt;attribute name="orderby"
+                   doc="Specifies the fields that define the ordering of the collection, in the form 'field1=ASC,field2=DESC' with ASC for ascending and DESC for descending ordering"/&gt;
+        &lt;attribute name="otm-dependent"
+                   allowed="true false"
+                   doc="Specifies whether the OTM layer automatically creates collection elements that were included into the collectionelements and deletes collection elements that were excluded from the collection. Default value is 'false'"/&gt;
+        &lt;attribute name="proxy"
+                   allowed="true false"
+                   doc="Whether to use proxy-based lazy loading for this collection. Default value is 'false'"/&gt;
+        &lt;attribute name="proxy-prefetching-limit"
+                   doc="Specifies how many objects are prefetched when loading the collection for the first instance of this class when part of some collection. Set to 0 to disable this"/&gt;
+        &lt;attribute name="query-customizer"
+                   doc="Contains the fully qualified name of a class that customizes the original query that would load this collection"/&gt;
+        &lt;attribute name="query-customizer-attributes"
+                   doc="Contains attributes for the query customizer as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="refresh"
+                   allowed="true false"
+                   doc="Forces OJB to refresh the collection when the object is reloaded; default value is 'false'"/&gt;
+        &lt;attribute name="remote-foreignkey"
+                   doc="Use this attribute for m:n collections to specify the columns in the indirection table that point to the element type in cases where the element type has no collection pointing to this class"/&gt;
+    &lt;/tag&gt;
+    &lt;tag name="@ojb.nested"
+         target="method field"
+         doc=""/&gt;
+    &lt;tag name="@ojb.modify-nested"
+         target="method field"
+         doc="Use this tag to modify attributes of nested fields/references/collections"&gt;
+        &lt;attribute name="access"
+                   allowed="readonly readwrite"
+                   doc="For fields: modifies the 'access' attribute of the nested feature"/&gt;
+        &lt;attribute name="attributes"
+                   doc="For fields, references, collections: modifies the 'attributes' attribute of the nested feature"/&gt;
+        &lt;attribute name="auto-delete"
+                   allowed="none link object true false"
+                   doc="For references, collections: modifies the 'auto-delete' attribute of the nested feature"/&gt;
+        &lt;attribute name="auto-retrieve"
+                   allowed="true false"
+                   doc="For references, collections: modifies the 'auto-retrieve' attribute of the nested feature"/&gt;
+        &lt;attribute name="auto-update"
+                   allowed="none link create object true false"
+                   doc="For references, collections: modifies the 'auto-update' attribute of the nested feature"/&gt;
+        &lt;attribute name="autoincrement"
+                   allowed="none ojb database"
+                   doc="For fields: modifies the 'autoincrement' attribute of the nested feature"/&gt;
+        &lt;attribute name="class-ref"
+                   doc="For references: modifies the 'class-ref' attribute of the nested feature"/&gt;
+        &lt;attribute name="collection-class"
+                   doc="For collections: modifies the 'collection-class' attribute of the nested feature"/&gt;
+        &lt;attribute name="column"
+                   doc="For fields: modifies the 'column' attribute of the nested feature"/&gt;
+        &lt;attribute name="conversion"
+                   doc="For fields: modifies the 'conversion' attribute of the nested feature"/&gt;
+        &lt;attribute name="default-fetch"
+                   allowed="true false"
+                   doc="For fields: modifies the 'default-fetch' attribute of the nested feature"/&gt;
+        &lt;attribute name="documentation"
+                   doc="For fields, references, collections: modifies the 'documentation' attribute of the nested feature"/&gt;
+        &lt;attribute name="element-class-ref"
+                   doc="For collections: modifies the 'element-class-ref' attribute of the nested feature"/&gt;
+        &lt;attribute name="foreignkey"
+                   required="true"
+                   doc="For references, collections: modifies the 'foreignkey' attribute of the nested feature"/&gt;
+        &lt;attribute name="id"
+                   doc="For fields: modifies the 'id' attribute of the nested feature"/&gt;
+        &lt;attribute name="indexed"
+                   allowed="true false"
+                   doc="For fields: modifies the 'indexed' attribute of the nested feature"/&gt;
+        &lt;attribute name="jdbc-type"
+                   allowed="BIT BOOLEAN TINYINT SMALLINT INTEGER BIGINT DOUBLE FLOAT REAL NUMERIC DECIMAL CHAR VARCHAR LONGVARCHAR DATE TIME TIMESTAMP BINARY VARBINARY LONGVARBINARY CLOB BLOB STRUCT ARRAY REF DATALINK JAVA_OBJECT"
+                   doc="For fields: modifies the 'jdbc-type' attribute of the nested feature"/&gt;
+        &lt;attribute name="length"
+                   doc="For fields: modifies the 'length' attribute of the nested feature"/&gt;
+        &lt;attribute name="locking"
+                   allowed="true false"
+                   doc="For fields: modifies the 'locking' attribute of the nested feature"/&gt;
+        &lt;attribute name="name"
+                   required="true"
+                   doc="The name of the nested feature that will be modified for the current class"/&gt;
+        &lt;attribute name="nullable"
+                   allowed="true false"
+                   doc="For fields: modifies the 'nullable' attribute of the nested feature"/&gt;
+        &lt;attribute name="orderby"
+                   doc="For collection: modifies the 'orderby' attribute of the nested feature"/&gt;
+        &lt;attribute name="otm-dependent"
+                   allowed="true false"
+                   doc="For references, collections: modifies the 'otm-dependent' attribute of the nested feature"/&gt;
+        &lt;attribute name="precision"
+                   doc="For fields: modifies the 'precision' attribute of the nested feature"/&gt;
+        &lt;attribute name="primarykey"
+                   allowed="true false"
+                   doc="For fields: modifies the 'primarykey' attribute of the nested feature"/&gt;
+        &lt;attribute name="proxy"
+                   allowed="true false"
+                   doc="For references, collections: modifies the 'proxy' attribute of the nested feature"/&gt;
+        &lt;attribute name="proxy-prefetching-limit"
+                   doc="For references, collections: modifies the 'proxy-prefetching-limit' attribute of the nested feature"/&gt;
+        &lt;attribute name="query-customizer"
+                   doc="For collections: modifies the 'query-customizer' attribute of the nested feature"/&gt;
+        &lt;attribute name="query-customizer-attributes"
+                   doc="For collections: modifies the 'query-customizer-attributes' attribute of the nested feature"/&gt;
+        &lt;attribute name="refresh"
+                   allowed="true false"
+                   doc="For references, collections: modifies the 'refresh' attribute of the nested feature"/&gt;
+        &lt;attribute name="scale"
+                   doc="For fields: modifies the 'scale' attribute of the nested feature"/&gt;
+        &lt;attribute name="sequence-name"
+                   doc="For fields: modifies the 'sequence-name' attribute of the nested feature"/&gt;
+        &lt;attribute name="update-lock"
+                   allowed="true false"
+                   doc="For fields: modifies the 'update-lock' attribute of the nested feature"/&gt;
+        &lt;attribute name="state-detection"
+                   allowed="on off inherit"
+                   doc="For fields: modifies the 'state-detection' attribute of the nested feature.
+                   The state-detection attribute is used by API's supporting automatic state detection of
+                   persistence capable objects (automatic detection of changed object fields - e.g. like
+                   the ODMG implementation). The attribute indicate whether or not the object state detection
+                   is enabled for this class or if it's inherited from a higher level entity."/&gt;
+        &lt;attribute name="field-class"
+                   doc="For fields: modifies the 'field-class' attribute of the nested feature.
+                   The field-class attribute can be used to override the PersistentField implementation class.
+                   OJB's shortcut name feature is supported."/&gt;
+        &lt;attribute name="ignore"
+                   allowed="true false"
+                   doc="If set to 'true', then the feature will not be included in the class descriptor for the current class. Default value is 'false'"/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.delete-procedure"
+         target="class"
+         doc="Specifies a procedure/function that handles deletion of objects in the database"&gt;
+        &lt;attribute name="arguments"
+                   doc="A comma-separated list of names that identify the constant-argument and/or runtime-argument tags at this class which belong to this delete procedure"/&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes for the delete procedure as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the delete procedure"/&gt;
+        &lt;attribute name="include-pk-only"
+                   allowed="true false"
+                   doc="If set to 'true', then all persistent fields of this class marked as primareykeys will be passed to the delete procedure, and the arguments attribute will be ignored; default value is 'false'"/&gt;
+        &lt;attribute name="name"
+                   required="true"
+                   doc="The name of the delete procedure"/&gt;
+        &lt;attribute name="return-field-ref"
+                   doc="Specifies the field that will receive the return value of this delete procedure"/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.insert-procedure"
+         target="class"
+         doc=""&gt;
+        &lt;attribute name="arguments"
+                   doc="A comma-separated list of names that identify the constant-argument and/or runtime-argument tags at this class which belong to this insert procedure"/&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes for the insert procedure as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the insert procedure"/&gt;
+        &lt;attribute name="include-all-fields"
+                   allowed="true false"
+                   doc="If set to 'true', then all persistent fields of this class will be passed to the insert procedure, and the arguments attribute will be ignored; default value is 'false'"/&gt;
+        &lt;attribute name="name"
+                   required="true"
+                   doc="The name of the insert procedure"/&gt;
+        &lt;attribute name="return-field-ref"
+                   doc="Specifies the field that will receive the return value of this insert procedure"/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.update-procedure"
+         target="class"
+         doc=""&gt;
+        &lt;attribute name="arguments"
+                   doc="A comma-separated list of names that identify the constant-argument and/or runtime-argument tags at this class which belong to this procedure"/&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes for the update procedure as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the update procedure"/&gt;
+        &lt;attribute name="include-all-fields"
+                   allowed="true false"
+                   doc="If set to 'true', then all persistent fields of this class will be passed to the update procedure, and the arguments attribute will be ignored; default value is 'false'"/&gt;
+        &lt;attribute name="name"
+                   required="true"
+                   doc="The name of the update procedure"/&gt;
+        &lt;attribute name="return-field-ref"
+                   doc="Specifies the field that will receive the return value of this update procedure"/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.constant-argument"
+         target="class"
+         doc="Defines a constant argument to be used by a delete, insert or update procedure"&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes of the argument as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the argument"/&gt;
+        &lt;attribute name="value"
+                   doc="The constant value"/&gt;
+        &lt;attribute name="name"
+                   required="true"
+                   doc="The name of the argument"/&gt;
+    &lt;/tag&gt;
+
+    &lt;tag name="@ojb.runtime-argument"
+         target="class"
+         doc="Defines a runtime argument to be used by a delete, insert or update procedure"&gt;
+        &lt;attribute name="attributes"
+                   doc="Contains attributes of the argument as name-value pairs of the form 'name1=value1,name2=value2'"/&gt;
+        &lt;attribute name="documentation"
+                   doc="Documentation for the argument"/&gt;
+        &lt;attribute name="field-ref"
+                   doc="Specifies the field whose value is passed to the procedure; if not specified, then 'null' is used as tje value"/&gt;
+        &lt;attribute name="name"
+                   required="true"
+                   doc="The name of the argument"/&gt;
+        &lt;attribute name="return"
+                   allowed="true false"
+                   doc="Whether this is a return value rather than a parameter to the procedure"/&gt;
+    &lt;/tag&gt;
+&lt;/doclipse&gt;

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Author.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,140 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The Author class
+ * 
+ * FK's only used in a 1:1 reference can use an "anonymous field" (no FK field in java class).
+ * @ojb.class
+ * @ojb.field name="fkAuthorDetail" jdbc-type="INTEGER"
+ */
+public class Author extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private String name;
+    // This field is used by a 1:1 and target of an 1:n reference in class PublisherImpl
+    // so it's not recommended to use an "anonymous field". But we can declare it as 
+    // private field without getter/setter with a specific PersistentField implementation
+    // class called 'direct' (the OJB shortcut name)
+    /**
+     * @ojb.field field-class="direct"
+     */
+    private Integer fkPublisher;
+    /**
+     * @ojb.reference foreignkey="fkPublisher" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Publisher publisher;
+    /**
+     * @ojb.reference foreignkey="fkAuthorDetail" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private AuthorDetail authorDetail;
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Medium"
+     * indirection-table="MEDIUM_AUTHOR"
+     * foreignkey="authorId"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List media;
+
+    public Author()
+    {
+    }
+
+    public boolean equals(Object obj)
+    {
+        return super.equals(obj);
+    }
+
+    public Author(String name, List books)
+    {
+        this.name = name;
+        this.media = books;
+    }
+
+    public void addMedia(Medium medium)
+    {
+        if (media == null)
+        {
+            media = new ArrayList();
+        }
+        if (!media.contains(medium))
+        {
+            media.add(medium);
+            medium.addAuthor(this);
+        }
+    }
+
+    public boolean removeMedia(Medium medium)
+    {
+        boolean result = false;
+        if (media != null)
+        {
+            result = media.remove(medium);
+            if (result) medium.removeAuthor(this);
+        }
+        return result;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+
+    public List getMedia()
+    {
+        return media;
+    }
+
+    public Publisher getPublisher()
+    {
+        return publisher;
+    }
+
+    public void setPublisher(Publisher publisher)
+    {
+        this.publisher = publisher;
+    }
+
+    public AuthorDetail getAuthorDetail()
+    {
+        return authorDetail;
+    }
+
+    public void setAuthorDetail(AuthorDetail authorDetail)
+    {
+        this.authorDetail = authorDetail;
+    }
+}

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/AuthorDetail.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,73 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Details class of Author class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class AuthorDetail extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private String bio;
+    // use PersistentFieldDirectImpl, no getter/setter required
+    /**
+     * @ojb.field field-class="direct"
+     */
+    private Integer fkAuthor;
+    /**
+     * @ojb.reference foreignkey="fkAuthor" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Author author;
+
+    public AuthorDetail()
+    {
+    }
+
+    public AuthorDetail(String bio)
+    {
+        this.bio = bio;
+    }
+
+    public String getBio()
+    {
+        return bio;
+    }
+
+    public void setBio(String bio)
+    {
+        this.bio = bio;
+    }
+
+    public Author getAuthor()
+    {
+        return author;
+    }
+
+    public void setAuthor(Author author)
+    {
+        this.author = author;
+    }
+}

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/BasicObject.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,77 @@
+package org.apache.ojb.sample;
+
+import java.io.Serializable;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * A base class.
+ * 
+ * IMPORTANT: Don't declare a 'ojb.class' tag, because this is only a base class
+ * and we only need the base fields in the sub-classes (xdoclet shouldn't generate
+ * the table- or mapping-info for this class).
+ * 
+ * @version $Id$
+ */
+class BasicObject implements Serializable
+{
+    /**
+     * @ojb.field autoincrement="ojb" primarykey="true" field-class="direct"
+     */
+    Integer id;
+
+    /**
+     * @ojb.field locking="true" field-class="direct"
+     */
+    Integer version;
+
+    public Integer getId()
+    {
+        return id;
+    }
+
+    public Integer getVersion()
+    {
+        return version;
+    }
+
+    public boolean equals(Object obj)
+    {
+        if (obj != null &amp;&amp; obj.getClass().equals(this.getClass()))
+        {
+            BasicObject tmp = (BasicObject) obj;
+            if (tmp.getId() != null)
+            {
+                return tmp.getId().equals(this.getId());
+            }
+            else
+            {
+                return tmp == this;
+            }
+        }
+        return false;
+    }
+
+    public int hashCode()
+    {
+        // this could cause problems, but I don't know a better way
+        return id != null ? getId().hashCode() : 0;
+    }
+}

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Book.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,40 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Date;
+
+/**
+ * The Book class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class Book extends Medium
+{
+    public Book()
+    {
+    }
+
+    public Book(String title, Date publicationDate, byte[] cover)
+    {
+        super(title, publicationDate, cover);
+    }
+}

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/CD.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,40 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Date;
+
+/**
+ * The CD class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class CD extends Medium
+{
+    public CD()
+    {
+    }
+
+    public CD(String title, Date publicationDate, byte[] cover)
+    {
+        super(title, publicationDate, cover);
+    }
+}

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/DVD.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,40 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Date;
+
+/**
+ * The DVD class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class DVD extends Medium
+{
+    public DVD()
+    {
+    }
+
+    public DVD(String title, Date publicationDate, byte[] cover)
+    {
+        super(title, publicationDate, cover);
+    }
+}

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Medium.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,224 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.commons.lang.builder.ToStringStyle;
+
+/**
+ * A "medium" base class
+ * 
+ * FK's only used in a 1:1 reference can use an "anonymous field" (no FK field in java class).
+ * @ojb.class generate-table-info="false"
+ * @ojb.field name="fkPublisher" jdbc-type="INTEGER"
+ * @version $Id$
+ */
+public abstract class Medium extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private String title;
+    /**
+     * @ojb.field jdbc-type="TIMESTAMP" conversion="JavaData2SqlTimestamp"
+     */
+    private Date publicationDate;
+    /**
+     * @ojb.field jdbc-type="LONGVARBINARY"
+     */
+    private byte[] cover;
+    // This field is used by a 1:1 and target of an 1:n reference in class ProductGroup
+    // so it's not recommended to use an "anonymous field". But we can declare it as 
+    // private field without getter/setter with a specific PersistentField implementation
+    // class called 'direct' (the OJB shortcut name)
+    /**
+     * @ojb.field field-class="direct"
+     */
+    private Integer fkProductGroup;
+    
+    /**
+     * @ojb.reference foreignkey="fkProductGroup" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private ProductGroup productGroup;
+    /**
+     * @ojb.reference foreignkey="fkPublisher" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Publisher publisher;
+    
+    
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Author"
+     * indirection-table="MEDIUM_AUTHOR"
+     * foreignkey="mediumId"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List authors;
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Review"
+     * foreignkey="fkMedium"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List reviews;
+
+    public Medium()
+    {
+    }
+
+    public Medium(String title, Date publicationDate, byte[] cover)
+    {
+        this.title = title;
+        this.publicationDate = publicationDate;
+        this.cover = cover;
+    }
+
+    public String toString()
+    {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", id).append("title", title).append(
+                        "publicationDate", publicationDate).append("version",
+                        version).append(
+                        "cover", cover).append("authors.size",
+                        authors != null ? authors.size() : 0).append(
+                        "reviews.size", reviews != null ? reviews.size() : 0)
+                .append("publisher", publisher).toString();
+    }
+
+    public void addAuthor(Author author)
+    {
+        if (authors == null)
+        {
+            authors = new ArrayList();
+        }
+        if (!authors.contains(author))
+        {
+            author.addMedia(this);
+            authors.add(author);
+        }
+    }
+
+    public boolean removeAuthor(Author author)
+    {
+        boolean result = false;
+        if (authors != null)
+        {
+            result = authors.remove(author);
+            if (result) author.removeMedia(this);
+        }
+        return result;
+    }
+
+    public void addReview(Review review)
+    {
+        if (reviews == null)
+        {
+            reviews = new ArrayList();
+        }
+        reviews.add(review);
+    }
+
+    public boolean removeReview(Review review)
+    {
+        if (reviews != null) return reviews.remove(review);
+        else
+            return false;
+    }
+
+    public String getTitle()
+    {
+        return title;
+    }
+
+    public void setTitle(String title)
+    {
+        this.title = title;
+    }
+
+    public Date getPublicationDate()
+    {
+        return publicationDate;
+    }
+
+    public void setPublicationDate(Date publicationDate)
+    {
+        this.publicationDate = publicationDate;
+    }
+
+    public byte[] getCover()
+    {
+        return cover;
+    }
+
+    public void setCover(byte[] cover)
+    {
+        this.cover = cover;
+    }
+
+    public List getAuthors()
+    {
+        return authors;
+    }
+
+    public void setAuthors(List authors)
+    {
+        this.authors = authors;
+    }
+
+    public List getReviews()
+    {
+        return reviews;
+    }
+
+    public void setReviews(List reviews)
+    {
+        this.reviews = reviews;
+    }
+
+    public Publisher getPublisher()
+    {
+        return publisher;
+    }
+
+    public void setPublisher(Publisher publisher)
+    {
+        this.publisher = publisher;
+    }
+
+    public ProductGroup getProductGroup()
+    {
+        return productGroup;
+    }
+
+    public void setProductGroup(ProductGroup productGroup)
+    {
+        this.productGroup = productGroup;
+    }
+}
\ No newline at end of file

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/ProductGroup.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,81 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The ProductGroup class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class ProductGroup extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private String name;
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Medium"
+     * foreignkey="fkProductGroup"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List media;
+
+    public ProductGroup()
+    {
+    }
+
+    public ProductGroup(String name)
+    {
+        this.name = name;
+    }
+
+    public List getMedia()
+    {
+        return media;
+    }
+
+    public void setMedia(List media)
+    {
+        this.media = media;
+    }
+
+    public void addMedium(Medium medium)
+    {
+        if (media == null) media = new ArrayList();
+        if (!media.contains(medium)) media.add(medium);
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+}
\ No newline at end of file

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Publisher.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,44 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * The Publisher interface
+ *
+ * @ojb.class generate-table-info="false"
+ * @version $Id$
+ */
+public interface Publisher extends Serializable
+{
+    public Integer getId();
+
+    public String getName();
+
+    public void setName(String name);
+
+    public List getAuthors();
+
+    public void setAuthors(List authors);
+
+    public void addAuthor(Author author);
+}

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/PublisherImpl.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,85 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The Publisher implementation class
+ * 
+ * @ojb.class
+ * @version $Id$
+ */
+public class PublisherImpl extends BasicObject implements Publisher
+{
+    /**
+     * @ojb.field
+     */
+    private String name;
+    
+    /**
+     * @ojb.collection element-class-ref="org.apache.ojb.sample.Author"
+     * foreignkey="fkPublisher"
+     * auto-retrieve="true"
+     * auto-update="create" 
+     * auto-delete="none" 
+     * proxy="true"
+     */
+    private List authors;
+
+    public PublisherImpl()
+    {
+    }
+
+    public PublisherImpl(String name)
+    {
+        this.name = name;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+
+    public List getAuthors()
+    {
+        return authors;
+    }
+
+    public void setAuthors(List authors)
+    {
+        this.authors = authors;
+    }
+
+    public void addAuthor(Author author)
+    {
+        if (authors == null)
+        {
+            authors = new ArrayList();
+        }
+        if (!authors.contains(author)) authors.add(author);
+    }
+}

Added: db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java?rev=592987&amp;view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java (added)
+++ db/ojb/trunk/src/xdoclet/sample/java/org/apache/ojb/sample/Review.java Wed Nov  7 17:02:59 2007
@@ -0,0 +1,154 @@
+package org.apache.ojb.sample;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.commons.lang.builder.ToStringStyle;
+
+/**
+ * The Review class
+ * 
+ * @ojb.class
+ * @ojb.field name="fkAuthor" jdbc-type="INTEGER"
+ * @version $Id$
+ */
+public class Review extends BasicObject
+{
+    /**
+     * @ojb.field
+     */
+    private Integer vote;
+    /**
+     * @ojb.field
+     */
+    private String summary;
+    // This field is used by a 1:1 and target of an 1:n reference in class Medium
+    // so it's not recommended to use an "anonymous field". But we can declare it as 
+    // private field without getter/setter with a specific PersistentField implementation
+    // class called 'direct' (the OJB shortcut name)
+    /**
+     * @ojb.field field-class="direct"
+     */
+    private Integer fkMedium;
+    
+    /**
+     * @ojb.reference foreignkey="fkAuthor" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Author author;
+    /**
+     * @ojb.reference foreignkey="fkMedium" auto-retrieve="true"
+     *                auto-update="create" auto-delete="none" proxy="true"
+     */
+    private Medium medium;
+
+    public Review()
+    {
+    }
+
+    public Review(String summary, Integer vote, Medium medium)
+    {
+        this.summary = summary;
+        this.vote = vote;
+        this.medium = medium;
+    }
+
+    public Review(String summary, Integer vote)
+    {
+        this.summary = summary;
+        this.vote = vote;
+    }
+
+    public Review(String summary)
+    {
+        this.summary = summary;
+    }
+
+    public Integer getVote()
+    {
+        return vote;
+    }
+
+    public void setVote(Integer vote)
+    {
+        this.vote = vote;
+    }
+
+    public Integer getFkMedium()
+    {
+        return fkMedium;
+    }
+
+    public void setFkMedium(Integer fkMedium)
+    {
+        this.fkMedium = fkMedium;
+    }
+
+    public String getSummary()
+    {
+        return summary;
+    }
+
+    public void setSummary(String summary)
+    {
+        this.summary = summary;
+    }
+
+    public Author getAuthor()
+    {
+        return author;
+    }
+
+    public void setAuthor(Author author)
+    {
+        this.author = author;
+    }
+
+    public Medium getMedium()
+    {
+        return medium;
+    }
+
+    public void setMedium(Medium medium)
+    {
+        this.medium = medium;
+    }
+
+    public boolean equals(Object obj)
+    {
+        boolean result = false;
+        if (obj instanceof Review)
+        {
+            Review other = (Review) obj;
+            result = new EqualsBuilder().append(id, other.id).append(summary,
+                    other.summary).append(version, other.version).append(
+                    fkMedium, other.fkMedium).append(author, other.author)
+                    .isEquals();
+        }
+        return result;
+    }
+
+    public String toString()
+    {
+        return ToStringBuilder.reflectionToString(this,
+                ToStringStyle.MULTI_LINE_STYLE, false);
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r592985 - /db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/META-INF/xtags.xml</title>
<author><name>arminw@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/db-ojb-dev/200711.mbox/%3c20071108005058.7388E1A9832@eris.apache.org%3e"/>
<id>urn:uuid:%3c20071108005058-7388E1A9832@eris-apache-org%3e</id>
<updated>2007-11-08T00:50:57Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: arminw
Date: Wed Nov  7 16:50:55 2007
New Revision: 592985

URL: http://svn.apache.org/viewvc?rev=592985&amp;view=rev
Log:
update, add missing entries

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/META-INF/xtags.xml

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/META-INF/xtags.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/META-INF/xtags.xml?rev=592985&amp;r1=592984&amp;r2=592985&amp;view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/META-INF/xtags.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/META-INF/xtags.xml Wed Nov  7 16:50:55
2007
@@ -19,30 +19,6 @@
         &lt;condition-description&gt;OJB&lt;/condition-description&gt;
         &lt;condition type="class"/&gt;
         &lt;parameter type="text"&gt;
-            &lt;name&gt;field-class&lt;/name&gt;
-            &lt;usage-description&gt;
-            Replace the default FieldDescriptor class with the specified one.
-            &lt;/usage-description&gt;
-            &lt;mandatory&gt;false&lt;/mandatory&gt;
-        &lt;/parameter&gt;
-        &lt;parameter type="text"&gt;
-            &lt;name&gt;state-detection&lt;/name&gt;
-            &lt;usage-description&gt;
-            Specifies the state detection mode to be used for this class on ODMG-level.
-            &lt;/usage-description&gt;
-            &lt;mandatory&gt;false&lt;/mandatory&gt;
-            &lt;default&gt;inherit&lt;/default&gt;
-			&lt;option-sets&gt;
-				&lt;option-set&gt;
-					&lt;options&gt;
-						&lt;option&gt;on&lt;/option&gt;
-						&lt;option&gt;off&lt;/option&gt;
-						&lt;option&gt;inherit&lt;/option&gt;
-					&lt;/options&gt;
-				&lt;/option-set&gt;
-			&lt;/option-sets&gt;
-        &lt;/parameter&gt;
-        &lt;parameter type="text"&gt;
             &lt;name&gt;accept-locks&lt;/name&gt;
             &lt;usage-description&gt;
             Specifies whether implicit locking should propagate to this class. Currently
relevant for the ODMG layer only.
@@ -212,13 +188,37 @@
             &lt;/usage-description&gt;
             &lt;mandatory&gt;false&lt;/mandatory&gt;
         &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;field-class&lt;/name&gt;
+            &lt;usage-description&gt;
+            Replace the default PersistentField class with the specified one. OJB's shortcut
name feature is supported.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+        &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;state-detection&lt;/name&gt;
+            &lt;usage-description&gt;
+            Specifies the state detection mode to be used for this class on ODMG-level.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+            &lt;default&gt;inherit&lt;/default&gt;
+			&lt;option-sets&gt;
+				&lt;option-set&gt;
+					&lt;options&gt;
+						&lt;option&gt;on&lt;/option&gt;
+						&lt;option&gt;off&lt;/option&gt;
+						&lt;option&gt;inherit&lt;/option&gt;
+					&lt;/options&gt;
+				&lt;/option-set&gt;
+			&lt;/option-sets&gt;
+        &lt;/parameter&gt;
       &lt;/tag&gt;
 
       &lt;tag&gt;
         &lt;level&gt;class&lt;/level&gt;
         &lt;name&gt;ojb.object-cache&lt;/name&gt;
         &lt;usage-description&gt;
-        The ojb.object-cache tag specifies a class to be used for caching instances of the
current class.
+        The ojb.object-cache tag specifies a class to be used for caching instances of the
current class. OJB's shortcut name feature is supported
         &lt;/usage-description&gt;
         &lt;unique&gt;true&lt;/unique&gt;
         &lt;condition-description&gt;OJB&lt;/condition-description&gt;
@@ -302,8 +302,9 @@
 			&lt;option-sets&gt;
 				&lt;option-set&gt;
 					&lt;options&gt;
-						&lt;option&gt;true&lt;/option&gt;
-						&lt;option&gt;false&lt;/option&gt;
+						&lt;option&gt;none&lt;/option&gt;
+						&lt;option&gt;ojb&lt;/option&gt;
+						&lt;option&gt;database&lt;/option&gt;
 					&lt;/options&gt;
 				&lt;/option-set&gt;
 			&lt;/option-sets&gt;
@@ -547,7 +548,7 @@
         &lt;parameter type="text"&gt;
             &lt;name&gt;otm-dependent&lt;/name&gt;
             &lt;usage-description&gt;
-            Overrides the otm-dependent attribute of the reference or collection tag.
+            DEPRECATED! Overrides the otm-dependent attribute of the reference or collection
tag.
             &lt;/usage-description&gt;
             &lt;mandatory&gt;false&lt;/mandatory&gt;
         &lt;/parameter&gt;
@@ -650,6 +651,80 @@
 				&lt;/option-set&gt;
 			&lt;/option-sets&gt;
         &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;isolation-level&lt;/name&gt;
+            &lt;usage-description&gt;
+            Overrides the transactional isolation on ODMG-level.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+            &lt;default&gt;read-uncommitted&lt;/default&gt;
+			&lt;option-sets&gt;
+				&lt;option-set&gt;
+					&lt;options&gt;
+						&lt;option&gt;read-uncommitted&lt;/option&gt;
+						&lt;option&gt;read-committed&lt;/option&gt;
+						&lt;option&gt;repeatable-read&lt;/option&gt;
+						&lt;option&gt;serializable&lt;/option&gt;
+						&lt;option&gt;optimistic&lt;/option&gt;
+						&lt;option&gt;none&lt;/option&gt;
+					&lt;/options&gt;
+				&lt;/option-set&gt;
+			&lt;/option-sets&gt;
+        &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;state-detection&lt;/name&gt;
+            &lt;usage-description&gt;
+            Overrides the state detection mode.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+            &lt;default&gt;inherit&lt;/default&gt;
+			&lt;option-sets&gt;
+				&lt;option-set&gt;
+					&lt;options&gt;
+						&lt;option&gt;on&lt;/option&gt;
+						&lt;option&gt;off&lt;/option&gt;
+						&lt;option&gt;inherit&lt;/option&gt;
+					&lt;/options&gt;
+				&lt;/option-set&gt;
+			&lt;/option-sets&gt;
+        &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;field-class&lt;/name&gt;
+            &lt;usage-description&gt;
+            Replace the default PersistentField class with the specified one. OJB's shortcut
name feature is supported.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+        &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;query-customizer&lt;/name&gt;
+            &lt;usage-description&gt;
+            Overrides the query customizer for this collection.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+        &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;query-customizer-attributes&lt;/name&gt;
+            &lt;usage-description&gt;
+            Oerrides attributes for the query-customizer of this collection. Is ignored if
no query-customizer is stated.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+        &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;ignore&lt;/name&gt;
+            &lt;usage-description&gt;
+            If set to 'true', then the feature will not be included in the class descriptor
for the current class. Default value is 'false'.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+            &lt;default&gt;false&lt;/default&gt;
+			&lt;option-sets&gt;
+				&lt;option-set&gt;
+					&lt;options&gt;
+						&lt;option&gt;true&lt;/option&gt;
+						&lt;option&gt;false&lt;/option&gt;
+					&lt;/options&gt;
+				&lt;/option-set&gt;
+			&lt;/option-sets&gt;
+        &lt;/parameter&gt;
       &lt;/tag&gt;
 
       &lt;tag&gt;
@@ -713,30 +788,6 @@
             &lt;condition type="method"/&gt;
         &lt;/condition&gt;
         &lt;parameter type="text"&gt;
-            &lt;name&gt;field-class&lt;/name&gt;
-            &lt;usage-description&gt;
-            Replace the default FieldDescriptor class with the specified one.
-            &lt;/usage-description&gt;
-            &lt;mandatory&gt;false&lt;/mandatory&gt;
-        &lt;/parameter&gt;
-        &lt;parameter type="text"&gt;
-            &lt;name&gt;state-detection&lt;/name&gt;
-            &lt;usage-description&gt;
-            Specifies the state detection mode to be used for this field on ODMG-level.
-            &lt;/usage-description&gt;
-            &lt;mandatory&gt;false&lt;/mandatory&gt;
-            &lt;default&gt;inherit&lt;/default&gt;
-			&lt;option-sets&gt;
-				&lt;option-set&gt;
-					&lt;options&gt;
-						&lt;option&gt;on&lt;/option&gt;
-						&lt;option&gt;off&lt;/option&gt;
-						&lt;option&gt;inherit&lt;/option&gt;
-					&lt;/options&gt;
-				&lt;/option-set&gt;
-			&lt;/option-sets&gt;
-        &lt;/parameter&gt;
-        &lt;parameter type="text"&gt;
             &lt;name&gt;access&lt;/name&gt;
             &lt;usage-description&gt;
             Specifies the accessibility of the field (readonly or modifiable).
@@ -769,8 +820,9 @@
 			&lt;option-sets&gt;
 				&lt;option-set&gt;
 					&lt;options&gt;
-						&lt;option&gt;true&lt;/option&gt;
-						&lt;option&gt;false&lt;/option&gt;
+						&lt;option&gt;none&lt;/option&gt;
+						&lt;option&gt;ojb&lt;/option&gt;
+						&lt;option&gt;database&lt;/option&gt;
 					&lt;/options&gt;
 				&lt;/option-set&gt;
 			&lt;/option-sets&gt;
@@ -957,13 +1009,13 @@
             &lt;/usage-description&gt;
             &lt;mandatory&gt;false&lt;/mandatory&gt;
         &lt;/parameter&gt;
-        &lt;parameter type="text"&gt;
-            &lt;name&gt;table&lt;/name&gt;
-            &lt;usage-description&gt;
-            May specify a table different from the mapped table for the persistent class
(currently not implemented in OJB).
-            &lt;/usage-description&gt;
-            &lt;mandatory&gt;false&lt;/mandatory&gt;
-        &lt;/parameter&gt;
+        &lt;!--&lt;parameter type="text"&gt;--&gt;
+            &lt;!--&lt;name&gt;table&lt;/name&gt;--&gt;
+            &lt;!--&lt;usage-description&gt;--&gt;
+            &lt;!--May specify a table different from the mapped table for the persistent
class (currently not implemented in OJB).--&gt;
+            &lt;!--&lt;/usage-description&gt;--&gt;
+            &lt;!--&lt;mandatory&gt;false&lt;/mandatory&gt;--&gt;
+        &lt;!--&lt;/parameter&gt;--&gt;
         &lt;parameter type="text"&gt;
             &lt;name&gt;update-lock&lt;/name&gt;
             &lt;usage-description&gt;
@@ -980,6 +1032,30 @@
 				&lt;/option-set&gt;
 			&lt;/option-sets&gt;
         &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;field-class&lt;/name&gt;
+            &lt;usage-description&gt;
+            Replace the default PersistentField class with the specified one. OJB's shortcut
name feature is supported.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+        &lt;/parameter&gt;
+        &lt;parameter type="text"&gt;
+            &lt;name&gt;state-detection&lt;/name&gt;
+            &lt;usage-description&gt;
+            Specifies the state detection mode to be used for this field on ODMG-level.
+            &lt;/usage-description&gt;
+            &lt;mandatory&gt;false&lt;/mandatory&gt;
+            &lt;default&gt;inherit&lt;/default&gt;
+			&lt;option-sets&gt;
+				&lt;option-set&gt;
+					&lt;options&gt;
+						&lt;option&gt;on&lt;/option&gt;
+						&lt;option&gt;off&lt;/option&gt;
+						&lt;option&gt;inherit&lt;/option&gt;
+					&lt;/options&gt;
+				&lt;/option-set&gt;
+			&lt;/option-sets&gt;
+        &lt;/parameter&gt;
       &lt;/tag&gt;
 
       &lt;tag&gt;
@@ -1079,13 +1155,13 @@
             &lt;/usage-description&gt;
             &lt;mandatory&gt;false&lt;/mandatory&gt;
         &lt;/parameter&gt;
-        &lt;parameter type="text"&gt;
-            &lt;name&gt;name&lt;/name&gt;
-            &lt;usage-description&gt;
-            Contains the name when this ojb.reference tag is in the class' javadoc comment,
i.e. if it specifies an anonymous reference. Otherwise, the value of this attribute is ignored.
-            &lt;/usage-description&gt;
-            &lt;mandatory&gt;false&lt;/mandatory&gt;
-        &lt;/parameter&gt;
+        &lt;!--&lt;parameter type="text"&gt;--&gt;
+            &lt;!--&lt;name&gt;name&lt;/name&gt;--&gt;
+            &lt;!--&lt;usage-description&gt;--&gt;
+            &lt;!--Contains the name when this ojb.reference tag is in the class' javadoc
comment, i.e. if it specifies an anonymous reference. Otherwise, the value of this attribute
is ignored.--&gt;
+            &lt;!--&lt;/usage-description&gt;--&gt;
+            &lt;!--&lt;mandatory&gt;false&lt;/mandatory&gt;--&gt;
+        &lt;!--&lt;/parameter&gt;--&gt;
         &lt;parameter type="text"&gt;
             &lt;name&gt;otm-dependent&lt;/name&gt;
             &lt;usage-description&gt;
@@ -1211,7 +1287,7 @@
         &lt;parameter type="text"&gt;
             &lt;name&gt;collection-class&lt;/name&gt;
             &lt;usage-description&gt;
-            Specifies the collection type that this collection uses. If not given, then the
xdoclet ojb module checks whether the type of the collection implements org.apache.ojb.broker.ManageableCollection.
+            Specifies the collection type that this collection uses. OJB's shortcut name
feature is supported. If not given, then the xdoclet ojb module checks whether the type of
the collection implements org.apache.ojb.broker.ManageableCollection.
             &lt;/usage-description&gt;
             &lt;mandatory&gt;false&lt;/mandatory&gt;
         &lt;/parameter&gt;



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org



</pre>
</div>
</content>
</entry>
</feed>
