Don't understand SimpleResourceStore

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