1 19 20 package org.polepos.teams.jdo; 21 22 import org.polepos.circuits.imola.*; 23 import org.polepos.teams.jdo.data.*; 24 25 26 public class ImolaJdo extends JdoDriver implements ImolaDriver{ 27 28 private Object [] oids; 29 30 public void store() { 31 int count = setup().getObjectCount(); 32 oids = new Object [setup().getSelectCount()]; 33 begin(); 34 for ( int i = 1; i <= count; i++ ){ 35 storePilot(i); 36 } 37 commit(); 38 } 39 40 public void retrieve() { 41 for(Object id: oids) { 42 JdoPilot pilot=(JdoPilot)db().getObjectById(id, false); 43 if(pilot==null) { 44 System.err.println("Object not found by ID."); 45 }else{ 46 addToCheckSum(pilot.getPoints()); 47 } 48 } 49 } 50 51 private void storePilot(int idx) { 52 JdoPilot pilot = new JdoPilot( "Pilot_" + idx, "Jonny_" + idx, idx , idx ); 53 db().makePersistent( pilot ); 54 55 if(idx <= setup().getSelectCount()) { 56 oids[idx - 1] = db().getObjectId(pilot); 57 } 58 if ( isCommitPoint(idx) ){ 59 db().currentTransaction().commit(); 60 db().currentTransaction().begin(); 61 } 62 } 63 64 private boolean isCommitPoint(int idx) { 65 int commitInterval=setup().getCommitInterval(); 66 return commitInterval> 0 && idx%commitInterval==0 && idx<setup().getObjectCount(); 67 } 68 69 70 } 71 | Popular Tags |