From fb544a455c9c360b84f4a36c1d86f1a286670d55 Mon Sep 17 00:00:00 2001 From: Matthew Rich Date: Mon, 25 Aug 2025 03:35:33 +0000 Subject: [PATCH] generate a unique uri for each document --- internal/fan/jx.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/internal/fan/jx.go b/internal/fan/jx.go index 43a26c5..0f9a134 100644 --- a/internal/fan/jx.go +++ b/internal/fan/jx.go @@ -149,12 +149,16 @@ func (j *JxFile) Extract(resourceSource data.Resource, filter data.ElementSelect } uri := resourceSource.URI() - if folio.DocumentRegistry.HasDocument(folio.URI(uri)) { - uri = fmt.Sprintf("%s?index=%d", uri, j.index) + documentIndexUri := fmt.Sprintf("%s?index=%d", uri, j.index) + + doc = folio.DocumentRegistry.NewDocument(folio.URI(documentIndexUri)) + if ! folio.DocumentRegistry.HasDocument(folio.URI(uri)) { + folio.DocumentRegistry.SetDocument(folio.URI(uri), doc.(*folio.Document)) + doc.(*folio.Document).SetURI(uri) } - doc = folio.DocumentRegistry.NewDocument(folio.URI(uri)) + err = j.decoder.Decode(doc) - slog.Info("JxFile.Extract()", "doc", doc, "jxfile", j, "error", err) + slog.Info("JxFile.Extract()", "uri", uri, "doc", doc, "jxfile", j, "error", err) j.index++ if err != nil { return