[Prevayler-discussion] New user having a problem
Brought to you by:
jsampson,
klauswuestefeld
From: Michael W. <mw...@ne...> - 2004-04-15 19:54:06
|
Hi, I am starting my first app using 2.01alpha. I am having problems with the system not restoring back to the state it stopped at. When I create an Object (Pda) using the transaction below, the transaction shows up in the transaction log okay. However restarting the system does not recreate the object. However, if I force a snapshot, stop and restart... the object is restored properly. So the snapshot works, but the transaction log does not. Any ideas where I could be going wrong? Thanks, Mike Warne *** Transaction code ***** public class PdaCreateTransaction extends AbstractSyncManagerTransactionWithQuery { private boolean enabled; private String uniqueId; private long company_id; public PdaCreateTransaction(long companyId,String uniqueId,boolean enabled) { this.enabled =3D enabled; this.uniqueId =3D uniqueId; this.company_id =3D companyId; } public PdaCreateTransaction() { //default constructor needed for xml serialisation } public Object executeAndQuery(SyncManager sm, Date executionTime) throws Exception { // // get the company from the prevayler system. // Company company =3D sm.getCompany(company_id); Iterator it =3D company.pdaList.iterator(); // can not have duplicate Pda for a company.. while (it.hasNext()) { Pda pda =3D (Pda) it.next(); if (pda.getUniqueId().equals(uniqueId)) { throw new IllegalArgumentException(uniqueId+" already Exists for Company - "+company.getOwnerName()); } } Pda newPda =3D company.addNewPda(); newPda.setUniqueId(uniqueId); newPda.setEnabled(enabled); return newPda; } } |