Utilizzare i valori delle proprietà OpenJPA invece dei valori delle proprietà specifici di Kodo

WebLogic utilizza Kodo invece di OpenJPA per l'implementazione del provider JPA 1.0. Questa regola converte i valori delle proprietà specifici di kodo in OpenJPA. Questa regola rileva i valori di proprietà specifici di kodo in un file Java. Il nome della proprietà e il valore della proprietà devono essere parametri letterali String per un put metodo. Il nome della proprietà deve essere il primo parametro, la chiave, ed il valore della proprietà deve essere il secondo parametro. Questa regola converte solo i valori delle proprietà. Una regola separata converte il nome della proprietà se necessario.

Ad esempio, il seguente codice viene contrassegnato:
map.put("kodo.Log", "Remote=TRACE, SQL=TRACE");

map.put("kodo.Log", "SQL=TRACE");
La correzione automatica rimuoverà il valore Remote=TRACE, perché non è un valore valido di OpenJPA.

La tabella riportata di seguito mostra i valori che possono essere convertiti:
Class Descrizione
kodo.Log
  • Rimuove i valori di configurazione, remoto, gestione e profilo
  • Converte kodo.* in openjpa.*
kodo.ConnectionFactoryProperties
  • I valori validi sono QueryTimeout, PrettyPrint, PrettyPrintLineLength.
  • Rimuove tutti gli altri valori
kodo.ConnectionFactory2Properties
  • I valori validi sono QueryTimeout, PrettyPrint, PrettyPrintLineLength.
  • Rimuove tutti gli altri valori
kodo.MetaDataFactory
  • I valori validi sono jpa o org.apache.openjpa.persistence.PersistenceMetaDataFactory.
  • Rimuove tutti gli altri valori e imposta il valore su jpa
kodo.LockManager
  • Converte kodo.* in org.apache.openjpa.*
  • Gli alias rimangono gli stessi.
kodo.OrphanedKeyAction
  • Converte kodo.* in org.apache.openjpa.*
  • Gli alias rimangono gli stessi.
kodo.SavepointManager
  • Converte kodo.* in org.apache.openjpa.*
  • Gli alias rimangono gli stessi.
kodo.Sequence
  • Converte kodo.* in org.apache.openjpa.*
  • Gli alias rimangono gli stessi.
kodo.DataCache
  • Seleziona solo la prima voce della cache. Tutte le altre voci vengono ignorate.
  • Se la prima voce è impostata su tangosol, lru o gemfire, il valore viene impostato su 'true'.
  • Se la prima voce ha dei valori, vengono conservati. Ad esempio, true(CacheSize=100).
  • Se la prima voce è falsa, rimane falsa.
kodo.QueryCompilationCache
  • Il valore, kodo.util.CacheMap, viene convertito in org.apache.openjpa.util.CacheMap.
  • Il valore, java.util.HashMap, viene convertito in org.apache.openjpa.lib.util.ConcurrentHash.
  • Gli alias rimangono gli stessi.
kodo.jdbc.DBDictionary
  • Converte kodo.* in: org.apache.openjpa.*
  • Gli alias rimangono gli stessi.
kodo.jdbc.SchemaFactory
  • Converte kodo.* in: org.apache.openjpa.*
  • Gli alias rimangono gli stessi.
kodo.jdbc.MappingDefaults
  • Il valore valido è predefinito.
kodo.ee.ManagedRuntime
  • Converte kodo.* in: org.apache.openjpa.*
  • Gli alias rimangono gli stessi.

Nota: WebSphere tradizionale V8.5.5 e Liberty Web Profile 6.0 utilizzano OpenJPA per l'implementazione di JPA 2.0. L'implementazione JPA 2.1 di WebSphere tradizionale V9.0 e di Liberty Java EE 7 utilizza EclipseLink.