I seem to have stumbled on a bug with the default persistent layer, and I am not quite familiar enough with it to chase down rapidly.
When I ran the enhanced debugging code (added to both DefaultPersistent and the PersistentDynaBean), it appears that the Fieldnames are being rejected, and therefore no values are being set. This is causing mucho problems down the line. Help?
Note that the Cache Table and the Archive Table have _IDENTICAL_ structures, including identical fieldnames/types & KEYS Code to trigger (note: try-catches are missing);
final PersistentFactory pf = (PersistentFactory) req.getService(
PersistentFactory.ROLE,
req.getDomain()); Persistent pCache = null;
Persistent pArchive = null; //Get the persistents
pCache = pf.create(cacheName);
pArchive = pf.create(archiveName);
pCache. setField("keyField", key); //Key Field Description: "8 Character
ID"
pCache.retrieve();//Read the data, and do stuff in the system based on it, leave data and persistent alone
pArchive.setBean(pCache.getBean());
//Save Data
>>>>> pArchive.update(); //THIS LINE FAILS
//Exception is; org.keel.services.persist.PersistenceException: $keelNullNotAllowed|8 Character ID at org.keel.services.persist.defaultpersist.DefaultPersistent.haveAllKeys(DefaultPersistent.java:1904) at org.keel.services.persist.defaultpersist.DefaultPersistent.update(DefaultPersistent.java:3156) at com.blueline.mam.ManageClip.archiveClip(ManageClip.java:167) at com.blueline.mam.ManageClip.execute(ManageClip.java:76) at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.avalon.fortress.impl.factory.PassThroughInvocationHandler.invoke(PassThroughInvocationHandler.java:100) at $Proxy3.execute(Unknown Source) at org.keel.services.model.defaultmodel.DefaultModelRequest.execute(DefaultModelRequest.java:151) at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.avalon.fortress.impl.factory.PassThroughInvocationHandler.invoke(PassThroughInvocationHandler.java:100) at $Proxy4.execute(Unknown Source) at org.keel.servers.direct.KeelDirectServer.execute(KeelDirectServer.java:251) at org.keel.servers.direct.KeelDirectServer$MultiThreadedProcessor.run(KeelDirectServer.java:294)
-- Java/J2EE Developer/Integrator Co-Chair, Dallas/FortWorth J2EE Sig 214-724-7741
http://keelframework.org/documentation Keelgroup mailing list [EMAIL PROTECTED] http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com
