752753754755756757758759760761762
if (vd instanceof TransientValueData) { TransientValueData tvd = (TransientValueData)vd; PersistedValueData pvd = tvd.createPersistedCopy(i); tvd.delegate((AbstractValueData)pvd); values.add(pvd); } else {
333334335336337338339340341342343
} values.add(pvd); } tvd.delegate(pvd); } else { values.add(vd); }
439440441442443444445446447448449
TransientPropertyData propertyData = (TransientPropertyData)itemData; TransientValueData tvd = (TransientValueData)(propertyData.getValues().get(listFixupStream.get(i).getValueDataId())); // re-init the value tvd.delegate(new TransientValueData(tvd.getOrderNumber(), null, null, listFile.get(i), fileCleaner, -1, null, true)); } } }
482483484485486487488489490491492
144145146147148149150151152153154
System.runFinalization(); Thread.sleep(CLEANER_TIMEOUT / 2); TransientValueData trvd = new TransientValueData(false); trvd.delegate(cleanableValueData); trvd = null; // TransientVD dies System.runFinalization(); assertTrue(testFile.exists());
161162163164165166167168169170171
System.runFinalization(); Thread.sleep(CLEANER_TIMEOUT / 2); TransientValueData trvd = new TransientValueData(false); trvd.delegate(cleanableValueData); assertTrue(testFile.exists()); cleanableValueData = null; // CleanableVD dies but TransientVD still uses swapped file
184185186187188189190191192193194
System.runFinalization(); Thread.sleep(CLEANER_TIMEOUT / 2); // file shared with TransientVD TransientValueData trvd = new TransientValueData(false); trvd.delegate(cleanableValueData); assertTrue(testFile.exists()); // 1st CleanableVD die cleanableValueData = null;
731732733734735736737738739740741
338339340341342343344345346347348
684685686687688689690691692693694