Utilizar valores de propiedad OpenJPA en lugar de valores de propiedad específicos de Kodo

WebLogic ha utilizado Kodo en lugar de OpenJPA para su implementación de proveedor JPA 1.0. Esta regla convierte los valores de propiedades específicos de kodo en OpenJPA. Esta regla detecta valores de propiedad específicos de Kodo en un archivo Java. El nombre de propiedad y el valor de propiedad deben ser parámetros literales String para un put . El nombre de propiedad debe ser el primer parámetro, la clave, y el valor de propiedad debe ser el segundo parámetro. Esta regla sólo convierte los valores de propiedad. Una regla aparte convierte el nombre de propiedad si es necesario.

Por ejemplo, se etiqueta el siguiente código:
map.put("kodo.Log", "Remote=TRACE, SQL=TRACE");

map.put("kodo.Log", "SQL=TRACE");
La corrección automática eliminará el valor Remote=TRACE porque no es un valor válido de OpenJPA.

La tabla siguiente muestra los valores que pueden convertirse:
Clase Descripción
kodo.Log
  • Elimina los valores Configuration, Remote, Manage y Profile
  • Convierte kodo.* en openjpa.*
kodo.ConnectionFactoryProperties
  • Los valores válidos son QueryTimeout, PrettyPrint, PrettyPrintLineLength.
  • Elimina los demás valores
kodo.ConnectionFactory2Properties
  • Los valores válidos son QueryTimeout, PrettyPrint, PrettyPrintLineLength.
  • Elimina los demás valores
kodo.MetaDataFactory
  • Los valores válidos son jpa u org.apache.openjpa.persistence.PersistenceMetaDataFactory.
  • Elimina los demás valores y establece el valor en jpa
kodo.LockManager
  • Convierte kodo.* en org.apache.openjpa.*
  • Los alias permanecen igual.
kodo.OrphanedKeyAction
  • Convierte kodo.* en org.apache.openjpa.*
  • Los alias permanecen igual.
kodo.SavepointManager
  • Convierte kodo.* en org.apache.openjpa.*
  • Los alias permanecen igual.
kodo.Sequence
  • Convierte kodo.* en org.apache.openjpa.*
  • Los alias permanecen igual.
kodo.DataCache
  • Selecciona sólo la primera entrada de antememoria. Las demás entradas se descartan.
  • Si la primera entrada se establece en tangosol, lru o gemfire, el valor se establece en 'true'.
  • Si la primera entrada tiene valores, se conservan. Por ejemplo, true(CacheSize=100).
  • Si la primera entrada es false, permanece false.
kodo.QueryCompilationCache
  • El valor kodo.util.CacheMap se convierte en org.apache.openjpa.util.CacheMap.
  • El valor java.util.HashMap se convierte en org.apache.openjpa.lib.util.ConcurrentHash.
  • Los alias permanecen igual.
kodo.jdbc.DBDictionary
  • Convierte kodo.* en org.apache.openjpa.*
  • Los alias permanecen igual.
kodo.jdbc.SchemaFactory
  • Convierte kodo.* en org.apache.openjpa.*
  • Los alias permanecen igual.
kodo.jdbc.MappingDefaults
  • El valor válido es el valor predeterminado.
kodo.ee.ManagedRuntime
  • Convierte kodo.* en org.apache.openjpa.*
  • Los alias permanecen igual.

Nota: WebSphere tradicional V8.5.5 y Liberty Web Profile 6.0 utilizan OpenJPA para su implementación JPA 2.0. WebSphere tradicional V9.0 y la implementación de Java EE 7 JPA 2.1 de Liberty utilizan EclipseLink.