Kodo 4.0.0EA3 Available

All,
Kodo 4.0.0 EA 3 is now available. Kodo 4 implements the JDO 2 and EJB 3
Persistence specifications. Feel free to download it at:
http://www.solarmetric.com/Software/beta/4.0.0EA/
You can find the release notes at:
http://solarmetric.com/Software/Documentation/4.0.0EA3/docs/full/html/relnotes.html
The full documentation can be found in the distribution, and also at:
http://solarmetric.com/Software/Documentation/4.0.0EA3/docs/full/html/index.
html
Please report any issues that you find to the Kodo beta newsgroup
(solarmetric.kodo.beta).
Good luck, and enjoy!
-Greg
SolarMetric
www.solarmetric.com

Abe White wrote:
You need to make sure that when you enhance, you include JDO
enhancement, not just the base Kodo enhancement. Now that Kodo 4
supports EJB 3 users who might not want JDO, it doesn't enhance-in
dependencies on JDO unless you ask it to.
If you enhance on the command line, that means using the "jdoc" command
rather than "kodoc" ("jdoc" is actually just a shortcut for "kodoc -jdo
true"). If you use the PCEnhancerTask, it means setting the jdoEnhance
attribute:
<taskdef name="kodoc" classname="kodo.ant.PCEnhancer"/>
<kodoc jdoEnhance="true">
</kodoc>So, what are the primary differences between the enhancement done for EJB3
and JDO? I gather that "base Kodo enhancement" is EJB3.
Scott

Similar Messages

  • Kodo 3.4.0RC3 Available

    All,
    Kodo 3.4.0 Release Candidate 3 is now available. Feel free to download
    it at:
    http://www.solarmetric.com/Software/beta/3.4.0RC3/
    There are a number of exciting new features in 3.4.0 RC3:
    * Query cache now caches aggregates and projections, including queries
    that use grouping
    * Added support for savepoints, with both in-memory and JDBC3 plugins.
    * Added support for Oracle Object fields through JDBC SQLData interfaces.
    * Improved thread and socket support for TCP RemoteCommitProvider
    * Better support for large transactions, including several optimizations
    in the datastore cache when using large transactions
    * Improvements to reverse mapping
    * Improvements to unicode support for Oracle
    * Improvements to performance of attaching of object graphs
    * Improvements to exception handling and reporting
    * Tangosol plugin supports query cache
    You can find the release notes at:
    http://www.solarmetric.com/Software/Documentation/3.4.0RC3/docs/relnotes.html
    The full documentation can be found in the distribution, and also at:
    http://www.solarmetric.com/Software/Documentation/3.4.0RC3/docs/index.html
    As this is a release candidate, please report any issues that you find
    to the Kodo beta newsgroup (solarmetric.kodo.beta).
    Good luck, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

    Savepoints:
    It would be very convinient if Kodo provided parameterless
    rollbackSavepoint() and releaseSavepoint() - they should rollback/release
    latest savepoin
    Thanks
    Alex
    "Greg Campbell" <[email protected]> wrote in message
    news:dbgseo$m66$[email protected]..
    All,
    Kodo 3.4.0 Beta 1 is now available. Feel free to download it at:
    http://www.solarmetric.com/Software/beta/3.4.0b1/
    There are a number of exciting new features in 3.4.0 Beta 1:
    * Query cache now caches aggregates and projections, including queries
    that use grouping
    * Added support for savepoints, with both in-memory and JDBC3 plugins.
    * Added support for Oracle Object fields through JDBC SQLData interfaces.
    * Improved thread and socket support for TCP RemoteCommitProvider
    * Better support for large transactions, including several optimizations
    in the datastore cache when using large transactions
    You can find the release notes at:
    http://solarmetric.com/Software/Documentation/3.4.0b1/docs/relnotes.html
    The full documentation can be found in the distribution, and also at:
    http://solarmetric.com/Software/Documentation/3.4.0b1/docs/index.html
    As this is a beta release, please report any issues that you find to the
    Kodo beta newsgroup (solarmetric.kodo.beta).
    Good luck, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

  • Kodo 3.3.0RC1 Available

    All,
    Kodo 3.3.0RC1 is now available. Feel free to download it at:
    http://solarmetric.com/jdo/beta/3.3.0RC1/
    There are a number of exciting new features in 3.3.0RC1:
    * New JDO 2 preview features, including Single Field Identity
    * Finer grained control over timed cache invalidation
    * Improvements to the Kodo workbench
    * Support for Apache Derby
    * Support for JMX 1.2
    * Performance enhancements to the Remote PersistenceManager capability
    * Many other new features and bugfixes
    You can find the release notes at:
    http://www.solarmetric.com/jdo/Documentation/3.3.0RC1/docs/relnotes.html
    As this is a beta release, please report any issues that you find to the
    Kodo beta newsgroup (solarmetric.kodo.beta).
    Good luck, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

    Could you please elaborate on
    "Added ability to insert raw SQL into a given kodo.jdbc.sql.Row. This is
    useful for performing server side functions to generate values for custom
    field mappings"
    Would it allow to add a snippet of SQL to insert/update statement.
    Specifically I am interested to set certain columns to null using NULL
    literal rather then null parameter or call to setNull() in prepared
    statement
    ex: update employee set fname=?, lname=?, address = NULL where id=?
    note how address = NULL sets address to null using NULL literal rather then
    Is it possible to do now?
    "Greg Campbell" <[email protected]> wrote in message
    news:cvmiqb$vlv$[email protected]..
    All,
    Kodo 3.3.0RC1 is now available. Feel free to download it at:
    http://solarmetric.com/jdo/beta/3.3.0RC1/
    There are a number of exciting new features in 3.3.0RC1:
    * New JDO 2 preview features, including Single Field Identity
    * Finer grained control over timed cache invalidation
    * Improvements to the Kodo workbench
    * Support for Apache Derby
    * Support for JMX 1.2
    * Performance enhancements to the Remote PersistenceManager capability
    * Many other new features and bugfixes
    You can find the release notes at:
    http://www.solarmetric.com/jdo/Documentation/3.3.0RC1/docs/relnotes.html
    As this is a beta release, please report any issues that you find to the
    Kodo beta newsgroup (solarmetric.kodo.beta).
    Good luck, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

  • Kodo 3.3.2 Available

    All,
    Kodo 3.3.2 is now available. Feel free to download it at:
    http://www.solarmetric.com/jdo/Evaluate/
    This is a patch release that fixes some known problems in 3.3.1.
    There are a number of exciting new features in 3.3.0:
    * New JDO 2 preview features, including Single Field Identity
    * Finer grained control over timed cache invalidation
    * Improvements to the Kodo workbench
    * Support for Apache Derby
    * Support for JMX 1.2
    * Performance enhancements to the Remote PersistenceManager capability
    * Many other new features and bugfixes
    You can find the release notes at:
    http://www.solarmetric.com/jdo/Documentation/3.3.2/docs/relnotes.html
    Thanks, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

    Will we be seeing any other JDO 2 preview features, such as
    deletion-by-query, in the 3.3.0 release?
    ;ted
    "Greg Campbell" <[email protected]> wrote in message
    news:ct94q4$nga$[email protected]..
    All,
    Kodo 3.3.0 Beta 2 is now available. Feel free to download it at:
    http://solarmetric.com/jdo/beta/3.3.0b2/
    There are a number of exciting new features in 3.3.0 Beta 2:
    * New JDO 2 preview features, including Single Field Identity
    * Finer grained control over timed cache invalidation
    * Improvements to the Kodo workbench
    * Support for Apache Derby
    * Support for JMX 1.2
    * Performance enhancements to the Remote PersistenceManager capability
    * Many other new features and bugfixes
    You can find the release notes at:
    http://www.solarmetric.com/jdo/Documentation/3.3.0beta2/docs/relnotes.html
    As this is a beta release, please report any issues that you find to the
    Kodo beta newsgroup (solarmetric.kodo.beta).
    Good luck, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

  • Kodo 3.3.1 Available

    All,
    Kodo 3.3.1 is now available. Feel free to download it at:
    http://www.solarmetric.com/jdo/Evaluate/
    This is a patch release that fixes some known problems in 3.3.0.
    There are a number of exciting new features in 3.3.0:
    * New JDO 2 preview features, including Single Field Identity
    * Finer grained control over timed cache invalidation
    * Improvements to the Kodo workbench
    * Support for Apache Derby
    * Support for JMX 1.2
    * Performance enhancements to the Remote PersistenceManager capability
    * Many other new features and bugfixes
    You can find the release notes at:
    http://www.solarmetric.com/jdo/Documentation/3.3.1/docs/relnotes.html
    Thanks, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

    Yes, it is. Since the beta was going well we thought we'd announce it to a
    larger group. In fact, beta 2 is coming out in a little while, with some
    minor changes based on feedback from the first beta.
    Thanks,
    Greg
    "Alex Roytman" <[email protected]> wrote in message
    news:ct65t1$4ne$[email protected]..
    Greg,
    Is it the same build you announced 3 weeks ago?
    "Greg Campbell" <[email protected]> wrote in message
    news:ct5vh9$qj6$[email protected]..
    All,
    Kodo 3.3.0 Beta 1 is now available. Feel free to download it at:
    http://solarmetric.com/jdo/beta/3.3.0b1/
    There are a number of exciting new features in 3.3.0 Beta 1:
    * New JDO 2 preview features, including Single Field Identity
    * Finer grained control over timed cache invalidation
    * Improvements to the Kodo workbench
    * Support for Apache Derby
    * Support for JMX 1.2
    * Performance enhancements to the Remote PersistenceManager capability
    * Many other new features and bugfixes
    You can find the release notes at:
    http://www.solarmetric.com/jdo/Documentation/3.3.0beta1/docs/relnotes.html
    >>
    As this is a beta release, please report any issues that you find to the
    Kodo beta newsgroup (solarmetric.kodo.beta).
    Good luck, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

  • Kodo 3.3.4 Available

    All,
    Kodo 3.3.4 is now available. Feel free to download it at:
    http://www.solarmetric.com/jdo/Evaluate/
    There are a number of bug fixes in the release.
    You can find the release notes at:
    http://www.solarmetric.com/Software/Documentation/3.3.4/docs/relnotes.html
    Enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

    Savepoints:
    It would be very convinient if Kodo provided parameterless
    rollbackSavepoint() and releaseSavepoint() - they should rollback/release
    latest savepoin
    Thanks
    Alex
    "Greg Campbell" <[email protected]> wrote in message
    news:dbgseo$m66$[email protected]..
    All,
    Kodo 3.4.0 Beta 1 is now available. Feel free to download it at:
    http://www.solarmetric.com/Software/beta/3.4.0b1/
    There are a number of exciting new features in 3.4.0 Beta 1:
    * Query cache now caches aggregates and projections, including queries
    that use grouping
    * Added support for savepoints, with both in-memory and JDBC3 plugins.
    * Added support for Oracle Object fields through JDBC SQLData interfaces.
    * Improved thread and socket support for TCP RemoteCommitProvider
    * Better support for large transactions, including several optimizations
    in the datastore cache when using large transactions
    You can find the release notes at:
    http://solarmetric.com/Software/Documentation/3.4.0b1/docs/relnotes.html
    The full documentation can be found in the distribution, and also at:
    http://solarmetric.com/Software/Documentation/3.4.0b1/docs/index.html
    As this is a beta release, please report any issues that you find to the
    Kodo beta newsgroup (solarmetric.kodo.beta).
    Good luck, and enjoy!
    -Greg
    SolarMetric
    www.solarmetric.com

  • Kodo 4.0.0EA3 JDOHelper.is...() state functions

    I'm trying to write unit tests for some of my higher level classes, and I've run into trouble trying
    to test functions that delete persistent objects. I'm using Spring Framework's
    AbstractTransactionalSpringContextTests class as my harness (which derives from JUnit's TestCase).
    It sets up a transaction before each test function and rolls the transaction back (by default, this
    is editable) after each test function. Because of this, I decided to base the test on the results of
    JDOHelper.isDelete( objectThatWasDeleted ). My tests fail though, and all of the JDOHelper.is...()
    functions return false at all points during the test. I know things are getting deleted though,
    because before the Spring created transaction is started, I create my own transaction and persist
    some objects, and after the Spring transaction is finished (and the test case), I create another
    transaction to remove them (both my transactions are committed). Even in the tear down function,
    JDOHelper.is...() functions don't seem to work; for example, isDeleted() returns false even though
    the object has been scheduled for deletion and is in fact deleted when the transaction commits.
    Is this a known bug? I was under the impression that JDOHelper functions were working as of EA2 (I
    know they weren't working before that and we had to use KodoHelper).
    Thanks,
    Mark
    Here's the code in question:
    * This function is called after the test and the transaction it ran in have been completed.
    * By default, the transaction is rolled back, but this can be overridden. This function
    * should ensure the tests have been cleaned up, including anything that was created by the
    * companion function onSetUpBeforeTransaction().
    * @see onSetUpBeforeTransaction()
    protected void onTearDownAfterTransaction()
    if( transactionManager != null )
    getLogger().info( "Starting transaction for post-test tear down." );
    TransactionStatus status =
    transactionManager.getTransaction( new DefaultTransactionDefinition() );
    if( status != null )
    getLogger().info( "Transaction for post-test tear down has been created." );
    UserManager userManager = (UserManager) applicationContext.getBean( "userManager" );
    User userToAlter = userManager.getUser( USER_TO_ALTER_USERNAME );
    userManager.removeUser( userToAlter );
    getLogger().debug(
    "userToAlter (Kodo) - isDirty = " + KodoJDOHelper.isDirty( userToAlter )
    + ", isNew = " + KodoJDOHelper.isNew( userToAlter )
    + ", isPersistent = " + KodoJDOHelper.isPersistent( userToAlter )
    + ", isDeleted = " + KodoJDOHelper.isDeleted( userToAlter ) );
    getLogger().debug( "userToAlter - isDirty = " + JDOHelper.isDirty( userToAlter )
    + ", isNew = " + JDOHelper.isNew( userToAlter )
    + ", isPersistent = " + JDOHelper.isPersistent( userToAlter )
    + ", isDeleted = " + JDOHelper.isDeleted( userToAlter ) );
    try
    transactionManager.commit( status );
    finally
    status = null;
    else
    getLogger().info( "Could not create transaction for post-test tear down."
    + " Superclass' transactionManager is null." );
    And here's the log output (I've put blank lines around the relevant output):
    2005-11-10 12:50:17,669 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
    <Rolled back transaction after test execution>
    2005-11-10 12:50:17,669 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
    <Starting transaction for post-test tear down.>
    2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
    transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@82d44b]>
    2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Creating new
    transaction with name [null]>
    2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Opened new
    PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
    2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Exposing JDO
    transaction as JDBC transaction
    [org.springframework.orm.jdo.DefaultJdoDialect$DataStoreConnectionHandle@285701]>
    2005-11-10 12:50:17,671 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Bound value
    [org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] to thread
    [main]>
    2005-11-10 12:50:17,671 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Bound value
    [org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
    [kodo.jdo.PersistenceManagerFactoryImpl@aa994e] to thread [main]>
    2005-11-10 12:50:17,671 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Initializing
    transaction synchronization>
    2005-11-10 12:50:17,671 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
    <Transaction for post-test tear down has been created.>
    2005-11-10 12:50:17,671 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory]
    - <Returning cached instance of singleton bean 'userManager'>
    2005-11-10 12:50:17,671 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory]
    - <Bean with name 'userManager' is a factory bean>
    2005-11-10 12:50:17,671 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
    <Getting transaction for edu.ucsc.whisper.core.UserManager.getUser>
    2005-11-10 12:50:17,671 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
    [org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
    [kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
    2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Found
    thread-bound PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
    2005-11-10 12:50:17,671 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
    [org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] bound to
    thread [main]>
    2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
    transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@87f48e]>
    2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Participating
    in existing transaction>
    2005-11-10 12:50:17,671 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
    [org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
    [kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
    2005-11-10 12:50:17,672 DEBUG [kodo.Query] - <executing query: [SELECT UNIQUE FROM
    edu.ucsc.whisper.core.DefaultUser WHERE username==searchName
                         PARAMETERS java.lang.String searchName] with parameters: {searchName=userToAlter}>
    2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184> connection pool: active=0, idle=1>
    2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> checkout>
    2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184> prepared statement cache: size=8,
    max=50, requests=12, hits=4, created=8, redundant=0, overflow=0, leaked=0>
    2005-11-10 12:50:17,677 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
    1168959 SELECT t0.userId, t0.VERSN, t0.enabled, t0.password, t1.userInfoId, t1.VERSN, t1.aboutText,
    t1.familyName, t1.firstName, t1.gender, t1.namePrefix, t1.nameSuffix, t1.otherNames, t2.userId,
    t2.VERSN, t2.enabled, t2.password, t2.USERINFO, t2.username, t0.username FROM whisper_user t0 LEFT
    OUTER JOIN userinfo t1 ON t0.USERINFO = t1.userInfoId LEFT OUTER JOIN whisper_user t2 ON
    t1.userInfoId = t2.USERINFO WHERE (t0.username = ?) [params=(String) userToAlter] [reused=1]>
    2005-11-10 12:50:17,690 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
    4297359 SELECT t0.previousName, t0.nameOrder FROM userInfo_PreviousNames t0 WHERE t0.userInfoId = ?
    ORDER BY t0.nameOrder ASC [params=(long) 1] [reused=0]>
    2005-11-10 12:50:17,693 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [2 ms] executing prepstmnt
    16585718 SELECT t1.authorityId, t1.VERSN, t1.authority FROM user_authorities t0 INNER JOIN
    authorities t1 ON t0.authorityId = t1.authorityId WHERE t0.userId = ? [params=(long) 1] [reused=0]>
    2005-11-10 12:50:17,697 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
    11277980 SELECT t0.organizationId, t0.VERSN, t0.city, t0.country, t0.isPrimary, t0.orgName,
    t0.positionTitle, t0.postalCode, t0.state, t0.streetAddress1, t0.streetAddress2, t0.streetAddress3,
    t0.userId FROM organization t0 WHERE t0.userId = ? [params=(long) 1] [reused=0]>
    2005-11-10 12:50:17,698 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> return>
    2005-11-10 12:50:17,698 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [0 ms] close>
    2005-11-10 12:50:17,698 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
    <Invoking commit for transaction on edu.ucsc.whisper.core.UserManager.getUser>
    2005-11-10 12:50:17,698 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
    <Getting transaction for edu.ucsc.whisper.core.UserManager.removeUser>
    2005-11-10 12:50:17,698 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
    [org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
    [kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
    2005-11-10 12:50:17,698 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Found
    thread-bound PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
    2005-11-10 12:50:17,698 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
    [org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] bound to
    thread [main]>
    2005-11-10 12:50:17,698 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
    transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@ba0b12]>
    2005-11-10 12:50:17,699 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Participating
    in existing transaction>
    2005-11-10 12:50:17,700 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
    [org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
    [kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
    2005-11-10 12:50:17,702 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
    [org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
    [kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
    2005-11-10 12:50:17,702 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
    <Invoking commit for transaction on edu.ucsc.whisper.core.UserManager.removeUser>
    2005-11-10 12:50:17,702 DEBUG [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
    <userToAlter (Kodo) - isDirty = false, isNew = false, isPersistent = false, isDeleted = false>
    2005-11-10 12:50:17,702 DEBUG [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
    <userToAlter - isDirty = false, isNew = false, isPersistent = false, isDeleted = false>
    2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
    beforeCommit synchronization>
    2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
    beforeCompletion synchronization>
    2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Initiating
    transaction commit>
    2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Committing JDO
    transaction on PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d]>
    2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184> connection pool: active=0, idle=1>
    2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> checkout>
    2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184> prepared statement cache: size=11,
    max=50, requests=16, hits=5, created=11, redundant=0, overflow=0, leaked=0>
    2005-11-10 12:50:17,705 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
    1104991 DELETE FROM userInfo_PreviousNames WHERE userInfoId = ? [params=(long) 1] [reused=0]>
    2005-11-10 12:50:17,706 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
    15986263 DELETE FROM user_authorities WHERE authorityId = ? [params=(long) 1] [reused=0]>
    2005-11-10 12:50:17,708 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
    10794796 DELETE FROM user_authorities WHERE userId = ? [params=(long) 1] [reused=0]>
    2005-11-10 12:50:17,710 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [2 ms] executing prepstmnt
    16100636 DELETE FROM authorities WHERE authorityId = ? AND VERSN = ? [params=(long) 1, (int) 1]
    [reused=0]>
    2005-11-10 12:50:17,711 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
    3677634 DELETE FROM userinfo WHERE userInfoId = ? AND VERSN = ? [params=(long) 1, (int) 1] [reused=0]>
    2005-11-10 12:50:17,713 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
    2745891 DELETE FROM whisper_user WHERE userId = ? AND VERSN = ? [params=(long) 1, (int) 1] [reused=0]>
    2005-11-10 12:50:17,828 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [115 ms] commit>
    2005-11-10 12:50:17,829 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> return>
    2005-11-10 12:50:17,829 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [1 ms] close>
    2005-11-10 12:50:17,830 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
    afterCompletion synchronization>
    2005-11-10 12:50:17,830 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Clearing transaction
    synchronization>
    2005-11-10 12:50:17,830 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Removed value
    [org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
    [kodo.jdo.PersistenceManagerFactoryImpl@aa994e] from thread [main]>
    2005-11-10 12:50:17,830 DEBUG
    [org.springframework.transaction.support.TransactionSynchronizationManager] - <Removed value
    [org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] from
    thread [main]>
    2005-11-10 12:50:17,831 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Closing JDO
    PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] after transaction>
    2005-11-10 12:50:17,831 DEBUG [org.springframework.orm.jdo.PersistenceManagerFactoryUtils] -
    <Closing JDO PersistenceManager>

    Abe White wrote:
    You need to make sure that when you enhance, you include JDO
    enhancement, not just the base Kodo enhancement. Now that Kodo 4
    supports EJB 3 users who might not want JDO, it doesn't enhance-in
    dependencies on JDO unless you ask it to.
    If you enhance on the command line, that means using the "jdoc" command
    rather than "kodoc" ("jdoc" is actually just a shortcut for "kodoc -jdo
    true"). If you use the PCEnhancerTask, it means setting the jdoEnhance
    attribute:
    <taskdef name="kodoc" classname="kodo.ant.PCEnhancer"/>
    <kodoc jdoEnhance="true">
    </kodoc>So, what are the primary differences between the enhancement done for EJB3
    and JDO? I gather that "base Kodo enhancement" is EJB3.
    Scott

  • Kodo progress?

    Hello all!
    I was wondering whether anyone representing TechTrader could update us on
    how progress is proceeding on Kodo?!?! In particular, integration with
    application servers, etc.
    Furthermore, is the JSR for JDO likely to reach final status anytime soon?
    That is obviously a barrier to wholesale adoption of JDO in production
    environments!
    I must admit, I wish there was a higher level of posts on this list. This
    is an interesting technology and deserves more discussion!
    Regards,
    James W.

    Hi folks,
    The new beta of Kodo JDO is now available!
    We've been busy trying to get the latest version of JDO ready and
    packaged. We apologize for the delay in getting you updated information
    regarding the status of Kodo. We've made a number of changes to Kodo
    including the introduction of the Enterprise Edition so we've decided to
    extend the beta period. To download this new beta, please go to
    http://www.techtrader.com/products/jdo.html
    <http://www.techtrader.com/products/jdo.html> .
    The following email is being sent to the JDO announce distribution list
    announcing Kodo JDO Standard Edition Beta 2.0 and Kodo JDO Enterprise
    Edition Beta 2.0. Both will be available for download from the site
    today and the license is good till August 25, 2001.
    We again look forward to receiving feedback on the product from you.
    You can send feedback or support questions to [email protected].
    The Kodo Product Team
    TechTrader, Inc.
    TechTrader is excited to present the latest versions of Kodo JDO:
    - Kodo JDO Standard Edition Beta 2.0; and
    - Kodo JDO Enterprise Edition Beta 2.0
    The Kodo JDO Standard Edition Beta 2.0 incorporates much of the feedback
    that we have received from our loyal beta testers. Thank you. In
    addition, we've introduced a number of new features including support of
    n-many relations and JNDI lookup. The current release of Kodo JDO
    Standard Edition more fully supports the Proposed Final Draft of Sun's
    Java Data Objects Specification 1.0.
    The introduction of the Kodo JDO Enterprise Version represents a growing
    need for tools and features that are needed for larger scale usage of
    Kodo. In addition to all of the features in the Standard Version of
    Kodo, the Enterprise version offers PersistenceManagers that can
    transparently synchronize with global J2EE Transactions. Additional
    enterprise features are being developed. Please let us know what new
    features you would like to see in the Enterprise Version of Kodo JDO as
    we take our users feedback very seriously.
    PREVIOUS KODO JDO USERS
    We highly recommend upgrading to Kodo JDO Standard Beta 2.0 or
    Enterprise Beta 2.0. Your version of Kodo expires on July 15, 2001 - to
    continue using Kodo you must upgrade.
    Detailed upgrade instructions are included in the download in the file
    UPGRADE.txt. Quickstart instructions follow:
    - Replace the shell/bat scripts that shipped with the previous version
    of Kodo with those in the bin/ directory.
    - Replace the jar libraries that shipped with the previous version of
    Kodo with those in the lib/ directory. Note that some new libraries have
    been introduced; therefore, these should be added to your CLASSPATH.
    Read the rest of this document for information on changes that might
    require modification of your application.
    New Features
    - Maps with user-defined persistent object values can be persisted
    (n-many relations).
    - Static inner classes can be persisted.
    - Queries support the use of containsKey() and containsValue() for Map
    fields.
    - Queries support ordering declarations.
    - The SchemaTool's schema migration capabilities have been enhanced.
    - The SchemaTool offers the option of automatically maintaining the list
    of persistent types for the system.
    - Schema generation can be customized through JDO metadata.
    - The standard javax.sql.DataSource is used to obtain connections.
    - Connection pooling has been enhanced, and new pooling parameters have
    been added (timeout time, autoreturn time).
    - The ObjectId helper class has been introduced to map opaque JDO OID
    values to and from primitive long values.
    - PersistenceManagerFactories can be stored in JNDI, including JNDI
    trees that are replicated over multiple JVMs.
    - PersistenceManagers can transparently synchronize with global J2EE
    Transactions (Kodo Enterprise Edition beta only).
    Bugfixes
    - Row-level locking is now performed within pessimistic Transactions.
    - Object ID generation is now done using the database by default.
    - Globally unique primary key values are no longer required (per-class
    only).
    - Inserting new instances of classes mapped to an existing schema
    without a class indicator column no longer throws a
    NullPointerException.
    - Numerous minor fixes.
    Notable Changes
    Users of previous beta versions of Kodo should scan the user guide in
    the docs/ directory for new information included with this release.
    Of particular note:
    - The schematool can now automatically maintain a list of persistent
    classes; the <persistent-types> array in system.prefs is not needed.
    This is covered in the Database Setup chapter of the user guide.
    - The syntax for using the schematool has changed. This is covered in
    the Database Setup chapter of the user guide.
    - The syntax for mapping classes to existing database tables has
    changed. This is covered in the Using Existing Schema chapter of the
    user guide.
    - The Runtime Use chapter of the user guide covers new runtime options
    available, such as JNDI storage of the JDBCPersistenceManagerFactory and
    safe conversion of JDO OID values to and from primitive long values.
    As always, please direct any support questions to
    [email protected].
    -----Original Message-----
    From: Christof Krug [ mailto:[email protected]
    <mailto:[email protected]> ]
    Sent: Tuesday, July 10, 2001 7:05 AM
    To: Mike Ivanov; [email protected]; [email protected]
    Subject: AW: Kodo progress?
    Hi James and Mike
    This is the info I got last week from TechTrader:
    Hi Christof,
    Thanks for downloading and using Kodo.
    We are planning on releasing a version of Kodo before the July 15th
    deadline -
    it may be a final beta version, but most likely it will be the
    production
    version. We'll announce the release plans on our JDO Announce listserv
    (Just
    send an email to [email protected] with "subscribe" as
    the
    subject).
    We are planning on retailing Kodo at $700 per developer seat. However,
    during a introductory promotion, we plan on selling Kodo for $299 /
    developer
    seat. Included in this price is 30 days email support and 30 days of
    free
    upgrades. There will be no run-time royalties.
    Additional support / upgrade packs may be purchased for $500 for 1 year
    of
    email support and free upgrades.
    Let me know if you have any questions. I've cc'd this email to our
    sales
    folks in case you'd like to follow-up with them.
    Thanks and let us know if you have any additional questions.
    Neelan Choksi
    VP, Marketing and Market Intelligence
    TechTrader, Inc.
    [email protected]
    [email protected] wrote (Fri, Jun 29 2001 03:49:00):
    Hi support
    I am currently using the beta of your Kodo JDO. Since it expires onJuly
    15,
    when do you have the release ready and how much will it cost?
    Kind regards
    Christof
    Christof Krug
    Vanero GmbH
    Dominikstr.21
    D-81929 Munchen
    Germany
    Tel. +49 (0)89 993419 72
    Fax. +49 (0)89 993419 74
    Mobil +49 (0)170 5836734
    [email protected]
    www.vanero.comChristof Krug
    Vanero GmbH
    Dominikstr.21
    D-81929 Munchen
    Germany
    Tel. +49 (0)89 993419 72
    Fax. +49 (0)89 993419 74
    Mobil +49 (0)170 5836734
    [email protected]
    www.vanero.com
    -----Ursprungliche Nachricht-----
    Von: Mike Ivanov [ mailto:[email protected]
    <mailto:[email protected]> ]
    Gesendet: Dienstag, 10. Juli 2001 12:51
    An: [email protected]; [email protected]
    Betreff: RE: Kodo progress?
    Hi James,
    it looks like Tech Traders left us alone...
    Go http://www.objectmatter.com <http://www.objectmatter.com> !
    Mike
    -----Original Message-----
    From: [email protected] [ mailto:[email protected]
    <mailto:[email protected]> ]
    Sent: Tuesday, July 10, 2001 12:37 PM
    To: [email protected]
    Subject: Kodo progress?
    Hello all!
    I was wondering whether anyone representing TechTrader could update uson
    how progress is proceeding on Kodo?!?! In particular, integration with
    application servers, etc.
    Furthermore, is the JSR for JDO likely to reach final status anytimesoon?
    That is obviously a barrier to wholesale adoption of JDO in production
    environments!
    I must admit, I wish there was a higher level of posts on this list.This
    is an interesting technology and deserves more discussion!
    Regards,
    James W.

  • Kodo.util.InternalException: null

    Hello,
    I'm trying new persistence EJB3 implementation from SolarMetric:
    kodo-4.0.0EA3
    I have constructed a simple test app. And when I try to run it I get:
    Exception in thread "main" <1|true|4.0.0EA3> kodo.util.InternalException:
    null
         at
    kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclassProxy.kodoNewObjectIdInstance(Unknown
    Source)
         at kodo.util.ApplicationIds.create(ApplicationIds.java:246)
         at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2433)
         at kodo.kernel.BrokerImpl.persistSafe(BrokerImpl.java:2379)
         at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2366)
         at kodo.kernel.DelegatingBroker.persist(DelegatingBroker.java:1275)
         at kodo.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:519)
         at com.dalitest.Test.main(Test.java:21)
    Do you know what is going on?
    Here is my code:
    package com.dalitest;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.EntityTransaction;
    import javax.persistence.Persistence;
    public class Test
    public static void main(String[] args)
    EntityManagerFactory factory =
    Persistence.createEntityManagerFactory("kodo");
    EntityManager em = factory.createEntityManager();
    Client c1 = new Client();
    c1.setName("John Doe");
    EntityTransaction t = em.getTransaction();
    t.begin();
    em.persist(c1);
    t.commit();
    and Client.java:
    package com.dalitest;
    import javax.persistence.AccessType;
    import javax.persistence.Entity;
    import javax.persistence.Table;
    import javax.persistence.Id;
    import javax.persistence.Column;
    @Entity(access = AccessType.PROPERTY)
    @Table(name="DALI_CLIENTS")
    public class Client
    private String id;
    private String name;
    public void setName(String name)
    this.name = name;
    @Column(name="NAME")
    public String getName()
    return name;
    public void setId(String id)
    this.id = id;
    @Id
    @Column(name="ID")
    public String getId()
    return id;
    and my persistence.xml:
    <?xml version="1.0"?>
    <entity-manager>
         <name>kodo</name>
         <provider>kodo.persistence.PersistenceProviderImpl</provider>
         <class>com.dalitest.Client</class>
         <properties>
              <property name="kodo.LicenseKey"
                   value="XXX" />
              <property name="kodo.ConnectionURL"
                   value="XXX" />
              <property name="kodo.ConnectionDriverName"
                   value="oracle.jdbc.driver.OracleDriver" />
              <property name="kodo.ConnectionUserName" value="XXX" />
              <property name="kodo.ConnectionPassword" value="XXX" />
              <property name="kodo.Log" value="DefaultLevel=WARN, Tool=INFO" />
         </properties>
    </entity-manager>
    Where I have masked some values with XXX for this post.
    Thanks in advance,
    Ruslan

    Also I tried to enable DEBUG mode
    <property name="kodo.Log" value="DefaultLevel=WARN, Tool=INFO" />
    And got the following output before this exception:
    15 INFO [main] kodo.Runtime - Starting Kodo 4.0.0EA3
    62 DEBUG [main] kodo.Runtime - License capabilities: "Kodo Standard
    Edition,Kodo Community Edition,Kodo Evaluation Edition,Datacache
    Plug-in,Custom Result Object Providers,Custom Mappings,Enterprise
    Databases,Query Extensions,Performance Pack,Statement Batching,Kodo
    Enterprise Edition,Managed Environment,Developer Tools,Custom
    DBDictionaries" Expiration: "2/25/06 7:00 PM" Maintenance expiration:
    "2/25/06 7:00 PM"
    187 INFO [main] kodo.jdbc.JDBC - Using dictionary class
    "kodo.jdbc.sql.OracleDictionary".
    343 INFO [main] kodo.MetaData - Found 1 classes with metadata in 0
    milliseconds.
    422 INFO [main] kodo.MetaData - parse-class
    422 INFO [main] kodo.MetaData - parse-package
    Exception in thread "main" <1|true|4.0.0EA3> kodo.util.InternalException:
    null
         at
    kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclassProxy.kodoNewObjectIdInstance(Unknown
    Source)
         at kodo.util.ApplicationIds.create(ApplicationIds.java:246)
         at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2433)
         at kodo.kernel.BrokerImpl.persistSafe(BrokerImpl.java:2379)
         at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2366)
         at kodo.kernel.DelegatingBroker.persist(DelegatingBroker.java:1275)
         at kodo.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:519)
         at com.dalitest.Test.main(Test.java:21)

  • Some issues while testing EJB3 API

    I'm running some EJB3 peristence test outside standalone and I'm running
    into some issues that I did not see running the same code against the
    Hibernate EntityManager implementation.
    I'm currently using the Kodo 4.0EA3 download. Any help is appreciated.
    I have the following table:
    Table "public.beers"
    Column | Type | Modifiers
    id | integer | not null
    brand | character varying(50) |
    price | numeric(15,2) |
    Indexes:
    "beers_pkey" PRIMARY KEY, btree (id)
    With the following class:
    package com.springdeveloper.model;
    import javax.persistence.*;
    import java.io.Serializable;
    @Entity
    @Table(name="BEERS")
    public class Beer implements Serializable {
    private Long id;
    private String brand;
    private Double price;
    public Beer() {
    public Beer(Long id) {
    this.id = id;
    @Id(generate=GeneratorType.AUTO)
    @Column(name="ID", nullable=false)
    public Long getId() {
    return id;
    public void setId(Long id) {
    this.id = id;
    public String getBrand() {
    return brand;
    public void setBrand(String brand) {
    this.brand = brand;
    public Double getPrice() {
    return price;
    public void setPrice(Double price) {
    this.price = price;
    public String toString() {
    return "[" + id + "] " + brand + " " + price;
    Issues:
    =======
    1) If I don't have a column named type I get an error -
    Exception in thread "main" <2|false|4.0.0EA3> kodo.util.StoreException:
    ERROR: column t0.type does not exist {prepstmnt 14211340 SELECT t0.ID,
    t0.TYPE, t0.brand, t0.price FROM BEERS t0 WHERE (t0.ID = ?) [reused=0]}
    [code=0, state=42703]
    Any way around this since there is no inheritance structure involved?
    2) If I don't specify a fully qualified name for the first query I get
    this error:
    33 INFO [main] kodo.Runtime - Starting Kodo 4.0.0EA3
    74 DEBUG [main] kodo.Runtime - License capabilities: "Kodo Standard
    Edition,Kodo Community Edition,Kodo Evaluation Edition,Datacache Plug-
    in,Custom Result Object Providers,Custom Mappings,Enterprise
    Databases,Query Extensions,Performance Pack,Statement Batching,Kodo
    Enterprise Edition,Managed Environment,Developer Tools,Custom
    DBDictionaries" Expiration: "11/22/05 7:00 PM" Maintenance expiration:
    "11/22/05 7:00 PM"
    496 INFO [main] kodo.jdbc.JDBC - Using dictionary class
    "kodo.jdbc.sql.PostgresDictionary".
    1007 INFO [main] kodo.MetaData - Found 3 classes with metadata in 0
    milliseconds.
    Exception in thread "main" <4|false|4.0.0EA3>
    kodo.persistence.ArgumentException: Could not resolve entity named "Beer".
         at kodo.query.ejbql.EJBQLParser.populate(EJBQLParser.java:61)
         at kodo.query.ExpressionStoreQuery.populateFromCompilation
    (ExpressionStoreQuery.java:129)
         at kodo.query.QueryImpl.compileForCompilation(QueryImpl.java:682)
         at kodo.query.QueryImpl.compileForExecutor(QueryImpl.java:713)
         at kodo.query.QueryImpl.getOperation(QueryImpl.java:1624)
         at kodo.query.DelegatingQuery.getOperation(DelegatingQuery.java:136)
         at kodo.persistence.QueryImpl.execute(QueryImpl.java:231)
         at kodo.persistence.QueryImpl.getSingleResult(QueryImpl.java:258)
         at KodoTest.main(KodoTest.java:16)
    If I specify a fully qualified name for the EJBQL the first time I query
    then I can just use 'Beer' in subsequent queries. It doesn't help to
    specify '@Entity(name="Beer")' in the persistent class either.
    Here is my query:
    EntityManager em = emf.createEntityManager();
    em.getTransaction().begin();
    Beer b = (Beer)em.createQuery(
    "select object(o) from Beer o where o.id = :id")
    .setParameter("id", new Long(2))
    .getSingleResult();
    System.out.println("Beer: " + b);
    em.getTransaction().commit();
    This works but is kind of ugly:
    Beer b = (Beer)em.createQuery(
    "select object(o) from com.springdeveloper.model.Beer o where
    o.id = :id")
    .setParameter("id", new Long(2))
    .getSingleResult();
    And here is my peristence.xml:
    <?xml version="1.0"?>
    <entity-manager>
    <name>BeerDistributor</name>
    <provider>kodo.persistence.PersistenceProviderImpl</provider>
         <properties>
              <!--
              To evaluate or purchase a license key, visit http://
    www.solarmetric.com
              -->
              <property name="kodo.LicenseKey" value="????-????-????-????-????"/>
    <property name="kodo.PersistentClasses"
    value="com.springdeveloper.model.Beer,
    com.springdeveloper.model.Customer,
    com.springdeveloper.model.Order"/>
    <!--
    Connection configuration.
    -->
              <property name="kodo.ConnectionURL" value="jdbc:postgresql://
    localhost/test"/>
              <property name="kodo.ConnectionDriverName"
    value="org.postgresql.Driver"/>
              <property name="kodo.ConnectionUserName" value="trisberg"/>
              <property name="kodo.ConnectionPassword" value="????"/>
              <!--
              To disable logging, set value to 'none'.
              To use Log4J, configure Log4J appropriately, and set value to
    'log4j'.
              To view trace of all SQL being executed, add 'SQL=TRACE' to value
    below.
              -->
              <property name="kodo.Log" value="DefaultLevel=INFO, Runtime=DEBUG,
    Tool=INFO"/>
         </properties>
    </entity-manager>
    Thanks,
    Thomas Risberg

    1) If I don't have a column named type I get an error -This, unfortunately, is something that we need to clarify in the spec
    itself. Currently, the discriminator value and column for a class have
    default values in the spec. So technically, every base class has a
    discriminator column according to spec defaults.
    Obviously this isn't practical. In fact Kodo already turns off
    automatic discriminator columns for vertical and table-per-class
    inheritance unless you explicitly give a discrimintor value or column.
    So one way to not use a discriminator column in Kodo right now is to set
    your inheritance type to JOINED or TABLE_PER_CLASS. Another way is to
    use Kodo's kodo.persistence.jdbc.DiscriminatorStrategy annotation, which
    allows you to name a non-standard or custom discriminator strategy.
    Setting this annotation's value to "final" (an alias for Kodo's
    kodo.jdbc.meta.strats.NoneDiscriminatorStrategy) will indicate that the
    class doesn't need a discriminator because it won't be extended.
    We will try to get this ironed out in future versions of the spec.
    If I specify a fully qualified name for the EJBQL the first time I query
    then I can just use 'Beer' in subsequent queries. It doesn't help to
    specify '@Entity(name="Beer")' in the persistent class either.This sounds like a bug in our early access implementation. I have a
    feeling it only occurs with property access entities -- if you change
    your entity to use field access (which also means using Kodo
    enhancement), I think you'd see the problem go away. I think it might
    also go away if you performed some other persistence operation on a Beer
    entity (such as a by-id lookup) before attempting the query. We'll make
    sure to have this fixed for our next release. Thanks for the report.

  • How to use Enums in query ?

    Hi,
    I would like to use java 1.5 Enums in query, but i cannot find any usefull
    informations in docs.
    I use Kodo 4.0.0EA3.
    I have a class with a field that is an enum, and i would like to filter the
    query on specific value. Enums are defined in an other classe.
    i imported the Enums in the query, but a received the erreor below :
    <4|false|4.0.0EA3> kodo.jdo.UserException: An error occurred while parsing the
    query filter "etat==StateEnum.SUBMITTED". Error message: Attempt to query field
    "SUBMITTED" from a class without metadata. If this is a field of an implicit
    variable, you may need to cast the variable within the filter to identify its type.
    Thanks,
    Stephane Bouchet

    Stephane Bouchet a ?crit :
    Stephane Bouchet a ?crit :
    Hi,
    I would like to use java 1.5 Enums in query, but i cannot find any usefull
    informations in docs.
    I use Kodo 4.0.0EA3.
    I have a class with a field that is an enum, and i would like to filter the
    query on specific value. Enums are defined in an other classe.
    i imported the Enums in the query, but a received the erreor below :
    <4|false|4.0.0EA3> kodo.jdo.UserException: An error occurred while parsing the
    query filter "etat==StateEnum.SUBMITTED". Error message: Attempt to query field
    "SUBMITTED" from a class without metadata. If this is a field of an implicit
    variable, you may need to cast the variable within the filter to identify its type.
    I tried to declare the Enum via declareImports and declareVariables, and i get
    now this error :
    The type "DocumentsConstants.StateEnum" as used in the parameter/variable
    declarations could not be found in the imports.
    there is the code :
    String filtre = "state.etat == aState";
    query.declareImports("import fr.emn.castor.documents.DocumentsConstants.StateEnum");
    query.declareParameters("StateEnum aState");
    List queryRes = (List) query.execute(StateEnum.SUBMITTED);I found some exemples from JPOX, that use Enum in queries :
    from the CVS
    (http://jpox.cvs.sourceforge.net/jpox/JPOX/Plugins/Java5/src/test/org/jpox/persistence/EnumMappingTest.java?view=markup)
    , i found that the query must be like :
    pm.newQuery(Palette.class,"colorOrdinal == 'RED'")
    So i tried this but i got an Exception saying just :
    JDOException : java.lang.String ???
    i suppose that is because the value is between special char, but removing them
    and i got the previously errors.
    So my question is : Does Kodo supports Enums in Queries with JDOQL ???
    Thanks for any help,
    St?phane

  • Problems with persistance manager factory

    This method keeps hit a "Null pointer Exception" and i don't know why can
    anyone help?
    it may be a problem with the a setting in JBuilder 9, i just don't know.
    public void getPersistenceManagerFactory(){
    if(pmf==null){
    Properties props = new Properties();
    try{
    props.load((getClass().getResourceAsStream("/kodo.properties"))); //
    this is the line which is not working.
    catch(IOException ioe){
    throw new
    JDOFatalInternalException("Datalink: getPersistenceManagerFactory():Could
    load resource KODO",ioe);
    this.pmf =
    JDOHelper.getPersistenceManagerFactory(props);

    How can put kodo.properties at the root of my class path then
    it will probably be in C:\Jbuider\lib\ext
    what is the name of that file that contains kodo.properties
    if can find that i can add that the file.
    Stephen Kim wrote:
    My guess is that kodo.properties is not available at the root of your
    runtime classpath. You may want to change the input stream as a
    new FileInputStream (new File ("...."));
    David wrote:
    This method keeps hit a "Null pointer Exception" and i don't know why can
    anyone help?
    it may be a problem with the a setting in JBuilder 9, i just don't know.
    public void getPersistenceManagerFactory(){
    if(pmf==null){
    Properties props = new Properties();
    try{
    props.load((getClass().getResourceAsStream("/kodo.properties"))); //
    this is the line which is not working.
    catch(IOException ioe){
    throw new
    JDOFatalInternalException("Datalink: getPersistenceManagerFactory():Could
    load resource KODO",ioe);
    this.pmf =
    JDOHelper.getPersistenceManagerFactory(props);
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Kodo JDO 2.5.0 beta now available

    All,
    Kodo JDO 2.5.0 beta 1 is now available at:
    http://solarmetric.com/Software/beta/2.5.0/
    Some notable new features since 2.4 include:
    - Queries have received a major overhaul. Queries now support unbound
    variables, Collections as parameters to generate SQL IN (...) clauses,
    traversing fields of persistence-capable parameters, and more. The SQL
    produced by queries is also much more efficient.
    - Kodo JDO EE can now participate correctly in XA transactions.
    - Kodo JDO now includes support for custom fetch groups.
    - Queries and Extents can be constructed for interfaces.
    - Multi-table mappings now permit different tables to have different
    primary key column names.
    - The data cache framework can now cache query results.
    Known issues:
    - The JCA resource adapter will not seamlessly work with WebLogic -- to
    use it with WebLogic, it is necessary to unzip the kodo.rar and remove
    empty config-param-value elements
    (i.e. <config-properrty-value></config-property-value>).
    - We have done only limited integration testing with our IDE plugins.
    - Cached query results do not obey the timeouts configured for the classes
    in the query's access path.
    As usual, please discuss any issues, desires, etc. on the beta newsgroup:
    news://news.solarmetric.com/solarmetric.kodo.beta
    Enjoy,
    -Patrick
    Patrick Linskey
    SolarMetric Inc.

    All,
    Kodo JDO 2.5.0 beta 1 is now available at:
    http://solarmetric.com/Software/beta/2.5.0/
    Some notable new features since 2.4 include:
    - Queries have received a major overhaul. Queries now support unbound
    variables, Collections as parameters to generate SQL IN (...) clauses,
    traversing fields of persistence-capable parameters, and more. The SQL
    produced by queries is also much more efficient.
    - Kodo JDO EE can now participate correctly in XA transactions.
    - Kodo JDO now includes support for custom fetch groups.
    - Queries and Extents can be constructed for interfaces.
    - Multi-table mappings now permit different tables to have different
    primary key column names.
    - The data cache framework can now cache query results.
    Known issues:
    - The JCA resource adapter will not seamlessly work with WebLogic -- to
    use it with WebLogic, it is necessary to unzip the kodo.rar and remove
    empty config-param-value elements
    (i.e. <config-properrty-value></config-property-value>).
    - We have done only limited integration testing with our IDE plugins.
    - Cached query results do not obey the timeouts configured for the classes
    in the query's access path.
    As usual, please discuss any issues, desires, etc. on the beta newsgroup:
    news://news.solarmetric.com/solarmetric.kodo.beta
    Enjoy,
    -Patrick
    Patrick Linskey
    SolarMetric Inc.

  • Kodo 3.4.0 now available

    Hi,
    Kodo 3.4.0 is available now! Get your copy at
    http://solarmetric.com/kodo/releases/3.4.0
    * Query cache now caches aggregates and projections, including queries
    that use grouping
    * Added support for savepoints, with both in-memory and JDBC3 plugins.
    * Added support for Oracle Object fields through JDBC SQLData interfaces.
    * Improved thread and socket support for TCP RemoteCommitProvider
    * Better support for large transactions, including several optimizations
    in the datastore cache when using large transactions
    * Improvements to reverse mapping
    * Improvements to unicode support for Oracle
    * Improvements to performance of attaching of object graphs
    * Improvements to exception handling and reporting
    * Tangosol plugin supports query cache
    * Added a new ManagedRuntime for improved integration with BEA WebLogic
    Server. It is automatically used when using WLS.
    See http://docs.solarmetric.com/relnotes.html for full release notes.
    Enjoy,
    -Patrick

    Stephane & Alex-
    Kodo 4.0.0 ships with the final JDO 2.0 jars, but it is not yet a
    complete JDO 2 implementation.
    We do still intend to complete JDO 2 compliance in the near future, but
    as of 4.0.0, Kodo is still officially a JDO 1 product.
    Stephane Bouchet wrote:
    Another question :
    Is the final release will be compliant with the last (and final) JDO 2.0 API ?
    It seems it is not the case for the current release.
    Cheers,
    St?phane
    Alex Roytman a ?crit :
    Hi Mark,
    Is any work done on JDO side of the product? If I am not mistaken the list
    of outstanding JDO issues has not changed for quite a while. Are you
    planning to release the product without addressing them?
    Thank you
    Alex
    "Marc Prud'hommeaux" <[email protected]> wrote in message
    news:[email protected]..
    All,
    Kodo 4.0.0 RC 3 is now available. This release candidate of Kodo 4
    implements the JDO and EJB 3 Persistence specifications. You are
    invited to download it at:
    http://www.solarmetric.com/Software/beta/4.0.0RC/
    You can find the release notes at:
    http://solarmetric.com/Software/Documentation/4.0.0RC3/docs/full/html/relnotes.html
    The full documentation can be found in the distribution, and also at:
    http://solarmetric.com/Software/Documentation/4.0.0RC3/docs/full/html/index.html
    Please report any issues that you find to the Kodo beta newsgroup
    (bea.kodo.beta).
    Good luck, and enjoy!
    Marc Prud'hommeaux
    BEA, Inc.

  • Kodo 3.0.0 beta now available

    All,
    Kodo JDO 3.0.0 beta 1 is now available at:
    http://solarmetric.com/Software/beta/3.0.0/
    Kodo JDO 3.0.0 is a major release, and contains significant changes to
    properties, mapping information, and Kodo-specific APIs. To read more about
    these, and to read about how to convert a Kodo 2 project to Kodo 3, see the
    migration documentation at:
    http://solarmetric.com/Software/beta/3.0.0/b1-docs/docs/kodo2.html
    NOTE: the conversion is non-trivial, so we have provided a number of tools
    to automate most of the process. So please read and obey the migration
    documentation, which will guide you through the migration tool process.
    For details about some of the major new features in this release, please
    read the release notes at:
    http://solarmetric.com/Software/beta/3.0.0/b1-docs/docs/relnotes.html
    The full documentation is available online at:
    http://solarmetric.com/Software/beta/3.0.0/b1-docs/docs/index.html
    Some of the major new features include:
    * New mapping system, providing more powerful and flexible mapping options.
    * More configuration options for connection pooling.
    * Configurable eager fetching of 1-1, 1-many and many-many relations.
    Potentially reduces the number of database queries required when iterating
    through an extent or query result and accessing relation fields of each
    instance.
    * More optimized SQL batching.
    * Simplified package structure for Kodo-specific APIs.
    Known issues:
    * DB2, Informix, and Sybase do not fully pass our internal tests yet. Sybase
    is close to passing, and DB2 and Informix probably work in many situations
    as well, but they are not yet officially supported by this release.
    * We have done only limited integration testing with application servers.
    * Our IDE integration components are not included in this release.
    As usual, please discuss any issues, desires, etc. on the beta newsgroup:
    news://news.solarmetric.com/solarmetric.kodo.beta
    Enjoy,
    - Greg
    Greg Campbell
    SolarMetric, Inc.

    1. I can't see any standalone GUI tool to do mapping tasks, as you have
    ever announced.The GUI will have its own beta program and release schedule.
    2. the file : <kodo3.0>/samples/jsp/build.xml has a line wrong:
                   <fileset dir="../../../lib/">
    should be:
                   <fileset dir="../../lib/">Thanks!

Maybe you are looking for

  • MSI GT70 2PC Dominator (happens to similar msi's too) WiFi Spikes/in-game lags and freezes IMPORTANT

    Ok so I've been searching this all around, it is a common issue. I have tried many fix's but if anyone has an idea please suggest. If anyone has had this issue and now it's fixed please tell me. It is clearly the wifi hardware or software from MSI. I

  • Help Installing Adobe Photoshop Elements 11

    Do I need to remove version 9 before installing [email protected] Adobe Photoshop Elements 11 and Adobe Premiere Elements 11?

  • Portal Personalize problems.

    Dear experts I want Personalize link in my masthead. For that I have done the below steps. 1) Created a role. 2) Assigned portal personalization workset to that role. 3) Assigned the role to user. 4) In masthead iview I have changed the property "Sho

  • Count field in table

    hallow i have a table and i wont to now if i have field datbi appear more then once datbi is<b> variable</b> i give example table a_itab datbi <b>20071231</b>     20070201     0000014848      <b>20071231</b>     20070401     0000014849 20061231      

  • Type variable

    hi, can any body tell me the use of type varaiable in infopackage and how to impelement it. also the use of routine in infopackage and a sample code regards