WebLogic used Kodo instead of OpenJPA for its JPA 1.0 provider implementation. For the Kodo classes that have an OpenJPA equivalent, the automated fix will transform them to the corresponding OpenJPA class or package. The following table shows the Kodo classes that directly map to OpenJPA classes.
| Kodo Class | OpenJPA Class |
|---|---|
| kodo.util.ProxyManager | org.apache.openjpa.util.ProxyManager |
| kodo.jdbc.meta.Joinable | org.apache.openjpa.jdbc.meta.Joinable |
| kodo.persistence.jdbc.LockGroupVersionColumn | org.apache.openjpa.persistence.jdbc.VersionColumn |
| kodo.persistence.jdbc.LockGroupVersionColumns | org.apache.openjpa.persistence.jdbc.VersionColumns |
| kodo.persistence.jdbc.ElementColumn | org.apache.openjpa.persistence.jdbc.ElementJoinColumn |
| kodo.persistence.jdbc.ElementColumns | org.apache.openjpa.persistence.jdbc.ElementJoinColumns |
| kodo.persistence.jdbc.KeyColumn | org.apache.openjpa.persistence.jdbc.KeyColumn |
| kodo.persistence.jdbc.KeyColumns | org.apache.openjpa.persistence.jdbc.KeyColumns |
| kodo.persistence.jdbc.KeyJoinColumn | org.apache.openjpa.persistence.jdbc.KeyJoinColumn |
| kodo.persistence.jdbc.KeyJoinColumns | org.apache.openjpa.persistence.jdbc.KeyJoinColumns |
| kodo.persistence.jdbc.KeyEmbeddedMapping | org.apache.openjpa.persistence.jdbc.KeyEmbeddedMapping |
| kodo.jdbc.meta.ClassStrategy | org.apache.openjpa.jdbc.meta.ClassStrategy |
| kodo.jdbc.meta.strats.* | org.apache.openjpa.jdbc.meta.strats.* |
| kodo.jdbc.meta.DiscriminatorStrategy | org.apache.openjpa.jdbc.meta.DiscriminatorStrategy |
| kodo.jdbc.meta.VersionStrategy | org.apache.openjpa.jdbc.meta.VersionStrategy |
| kodo.jdbc.meta.ValueHandler | org.apache.openjpa.jdbc.meta.ValueHandler |
| kodo.jdbc.meta.FieldStrategy | org.apache.openjpa.jdbc.meta.FieldStrategy |
| kodo.event.OrphanedKeyAction | org.apache.openjpa.event.OrphanedKeyAction |
| kodo.kernel.BrokerImpl | org.apache.openjpa.kernel.BrokerImpl |
| kodo.event.TransactionListener | org.apache.openjpa.event.TransactionListener |
| kodo.kernel.StoreManager | org.apache.openjpa.kernel.StoreManager |
| kodo.datacache.DataCacheImpl | org.apache.openjpa.datacache.DataCacheImpl |
| kodo.datacache.AbstractDataCache | org.apache.openjpa.datacache.AbstractDataCache |
| kodo.datacache.DataCache | org.apache.openjpa.datacache.DataCache |
| kodo.event.RemoteCommitProvider | org.apache.openjpa.event.RemoteCommitProvider |
| kodo.datacache.QueryCacheImpl | org.apache.openjpa.datacache.QueryCacheImpl |
| kodo.datacache.AbstractQueryCache | org.apache.openjpa.datacache.AbstractQueryCache |
| kodo.datacache.QueryCache | org.apache.openjpa.datacache.QueryCache |
| kodo.event.AbstractRemoteCommitProvider | org.apache.openjpa.event.AbstractRemoteCommitProvider |
| kodo.event.RemoteCommitListener | org.apache.openjpa.event.RemoteCommitListener |
| kodo.jdbc.schema.DriverDataSource | org.apache.openjpa.jdbc.schema.DriverDataSource |
This rule also detects the use of the WebLogic-specific annotations:
Note: WebSphere traditional V8.5.5 and Liberty Web Profile 6.0 uses OpenJPA for its JPA 2.0 implementation. WebSphere traditional V9.0 and Liberty's Java EE 7 JPA 2.1 implementation uses EclipseLink.