- From: Anselm Baird_Smith <abaird@www43.inria.fr>
- Date: Wed, 28 May 1997 15:53:38 +0200 (MET DST)
- To: begall@nads.de
- Cc: Jigsaw Mailing List <www-jigsaw@w3.org>
That's indeed correct, and I think it explains your problem: the old index gets marked as modified, but as the store only sees the new one, you get caught. The fix is obvious: nresources.put(entry.identifier, entry) ; should be: if ( entry.resource != null ) entry.resource.setValue("store-entry", entry); I haven't compiled that yet, but it should work fine, Thanks, Anselm. Christoph Begall writes: > Hi, > I wrote a Resource that makes a new Resource and registers it to its > Parent-directory... everything fine. > As I want to be sure that all attributes of that new Resource are > saved properly to disk (I don't want to lose any data if jigsaw is > killed), I called something like > getResourceStore().save() > in the Resource that registered the new Resource. > This worked fine when I did it only once and killed the server: when > jigsaw was started again the resource was perfectly restored. Then I > did the same thing with more resources (calling save() every time) > I could only recover the first one correctly after killing the server. > Then I digged through Jigsaw-src and ended up in SimpleResourceStore: > internalSave(boolean). There a new Hashtable nresources is made and > set to resources at the end. All ResourceIndex-objects in this > Hashtable are newly made, so they are not "synchronized" with the > ATTR_STORE_ENTRY-attribute of the resource: The store-entry will stay > old. Can that lead to the problem and is it a bug. (I don't really > think it is so, but I don't see the point.) > > Thanks, > Christoph. > > > -- > Christoph Begall begall@NADS.de > NADS GmbH NADS - Advertising on Nets > Otto-Hahn-Str. 18 Tel.: +49 231 975 123-0 > D-44227 Dortmund http://www.nads.de/ >
Received on Wednesday, 28 May 1997 09:54:28 UTC