Skip to content

Commit a105e95

Browse files
committed
Fix bug in collection creation logic
1 parent 4526056 commit a105e95

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

repo/backend/resources_register_builder.xqm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,10 @@ declare function resources:getCollectionMetadata(
281281
else
282282
let $source := functx:substring-after-last($metadata/@source, '/')
283283
let $csv-source := $csv-map($source)
284-
for $record in $csv-source($collection)
285284
return
286-
resources:createContent($metadata, $record)
285+
for $record in $csv-source($collection)
286+
return
287+
resources:createContent($metadata, $record)
287288
else <dc:title>{$collection}</dc:title>
288289
};
289290

repo/backend/update/add_collection.xqm

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import module namespace functx = 'http://www.functx.com';
66
import module namespace G = "globals";
77
import module namespace utils_dots = "utils_dots";
88
import module namespace resources = "backend/resources_register_builder";
9+
declare namespace dc = "http://purl.org/dc/elements/1.1/";
910

1011
declare namespace dots = "https://github.com/chartes/dots/";
1112

@@ -16,13 +17,21 @@ declare updating function add_coll:handleAddition($dbName as xs:string, $resourc
1617
};
1718

1819
declare updating function add_coll:addCollToResourcesReg($dbName as xs:string, $resourceId as xs:string, $parentId as xs:string := "") {
19-
let $csv := resources:getCSV-map($dbName, $resourceId)
20+
let $csv := resources:getCSV-map($dbName, "collection")
2021
let $parent := if ($parentId) then $parentId else utils_dots:getIdProject($dbName)
2122
let $resources_register := db:get($dbName, $G:resourcesRegister)//dots:member
23+
let $metadata := resources:getCollectionMetadata($dbName, $resourceId, $csv)
2224
return
2325
insert node
2426
<collection xmlns="https://github.com/chartes/dots/" dtsResourceId="{$resourceId}" totalChildren="0" parentIds="{$parent}">{
25-
resources:getCollectionMetadata($dbName, $resourceId, $csv)
27+
if ($metadata/descendant-or-self::*:title)
28+
then
29+
$metadata
30+
else
31+
(
32+
<dc:title>{$resourceId}</dc:title>,
33+
$metadata
34+
)
2635
}</collection> as last into $resources_register
2736
};
2837

0 commit comments

Comments
 (0)