Utilizaţi valorile de proprietăţi OpenJPA în locul valorilor de proprietăţi specifice Kodo

WebLogic a utilizat Kodo în loc de OpenJPA pentru implementarea sa de furnizor JPA 1.0. Această regulă converteşte valorile de proprietate specifice Kodo la OpenJPA. Această regulă detectează valorile de proprietate specifice Kodo într-un fişier Java. Numele de proprietate și valoarea de proprietate trebuie să fie String parametrii literali la o put :NONE. Numele proprietăţii trebuie să fie primul parametru, cheia, iar valoarea proprietăţii trebuie să fie al doilea parametru. Această regulă converteşte valorile de proprietăţi. O regulă separată converteşte numele proprietăţii, dacă este necesar.

De exemplu, următorul cod este semnalat:
map.put("kodo.Log", "Remote=TRACE, SQL=TRACE");

map.put("kodo.Log", "SQL=TRACE");
Soluția automată va elimina valoarea, Remote=TRACE, deoarece nu este o valoare validă OpenJPA.

Următorul tabel arată valorile care pot fi convertite:
Clasă Descriere
kodo.Log
  • Înlătură valorile Configuration, Remote, Manage şi Profile
  • Converteşte kodo.* la openjpa.*
kodo.ConnectionFactoryProperties
  • Valorile valide sunt QueryTimeout, PrettyPrint, PrettyPrintLineLength.
  • Înlătură toate celelalte valori
kodo.ConnectionFactory2Properties
  • Valorile valide sunt QueryTimeout, PrettyPrint, PrettyPrintLineLength.
  • Înlătură toate celelalte valori
kodo.MetaDataFactory
  • Valorile valide sunt jpa sau org.apache.openjpa.persistence.PersistenceMetaDataFactory.
  • Înlăturaţi toate celelalte valori şi setaţi valoarea la jpa
kodo.LockManager
  • Converteşte kodo.* la org.apache.openjpa.*
  • Aliasurile rămân aceleaşi.
kodo.OrphanedKeyAction
  • Converteşte kodo.* la org.apache.openjpa.*
  • Aliasurile rămân aceleaşi.
kodo.SavepointManager
  • Converteşte kodo.* la org.apache.openjpa.*
  • Aliasurile rămân aceleaşi.
kodo.Sequence
  • Converteşte kodo.* la org.apache.openjpa.*
  • Aliasurile rămân aceleaşi.
kodo.DataCache
  • Selectează doar prima intrare de cache. Toate celelalte intrări sunt ignorate.
  • Dacă prima intrare este setată la tangosol, lru sau gemfire, atunci valoarea este setată la 'true'.
  • Dacă prima intrare are valori, ele sunt păstrate. De exemplu true(CacheSize=100).
  • Dacă prima intrare este false, ea rămâne false.
kodo.QueryCompilationCache
  • Valoarea, kodo.util.CacheMap, este convertită la org.apache.openjpa.util.CacheMap.
  • Valoarea, java.util.HashMap, este convertită la org.apache.openjpa.lib.util.ConcurrentHash.
  • Aliasurile rămân aceleaşi.
kodo.jdbc.DBDictionary
  • Converteşte kodo.* la: org.apache.openjpa.*
  • Aliasurile rămân aceleaşi.
kodo.jdbc.SchemaFactory
  • Converteşte kodo.* la: org.apache.openjpa.*
  • Aliasurile rămân aceleaşi.
kodo.jdbc.MappingDefaults
  • Valoarea validă este default.
kodo.ee.ManagedRuntime
  • Converteşte kodo.* la: org.apache.openjpa.*
  • Aliasurile rămân aceleaşi.

Notă: WebSphere tradiţional V8.5.5 şi Liberty Web Profile 6.0 utilizează OpenJPA pentru implementarea sa JPA 2.0. Implementările Java EE JPA 2.1 ale WebSphere tradiţional V9 şi Liberty utilizează EclipseLink.