Skip to content

Commit 7097826

Browse files
committed
Update SIARD 2.2 import/export content strategy
1 parent 5a1c0a3 commit 7097826

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

dbptk-modules/dbptk-module-siard/src/main/java/com/databasepreservation/modules/siard/in/content/SIARD22ContentImportStrategy.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,9 +297,10 @@ public void startElement(String uri, String localName, String qName, Attributes
297297
if (columnLobsDir == null) {
298298
columnLobsDir = "";
299299
}
300+
300301
String lobFile = attr.getValue(FILE_KEYWORD);
301302
String lobPath;
302-
if (lobFile.startsWith(File.separator)) {
303+
if (lobFile.startsWith(File.separator) || lobFile.startsWith("content")) {
303304
lobPath = lobFile;
304305
} else if (columnLobsDir.startsWith(File.separator)) {
305306
lobPath = Path.of(columnLobsDir, lobFile).toString();

dbptk-modules/dbptk-module-siard/src/main/java/com/databasepreservation/modules/siard/out/content/SIARD22ContentExportStrategy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ protected void writeLargeObjectData(String cellPrefix, Cell cell, int columnInde
413413
byte[] messageDigest = digest.getMessageDigest().digest();
414414

415415
currentWriter.beginOpenTag(cellPrefix + columnIndex, 2).space().append("file=\"")
416-
.append(FilenameUtils.separatorsToUnix(contentPathStrategy.getInternalBlobFileName(currentRowIndex + 1)))
416+
.append(FilenameUtils.separatorsToUnix(contentPathStrategy.getBlobFilePath(currentSchema.getIndex(), currentTable.getIndex(), columnIndex, currentRowIndex + 1)))
417417
.append('"').space().append("length=\"").append(String.valueOf(binCell.getSize())).append("\"").space()
418418
.append("digest=\"").append(MessageDigestUtils.getHexFromMessageDigest(messageDigest, lowerCase)).append("\"")
419419
.space().append("digestType=\"").append(messageDigestAlgorithm.toUpperCase()).append("\"");
@@ -452,7 +452,7 @@ protected void writeLargeObjectData(String cellPrefix, Cell cell, int columnInde
452452
byte[] messageDigest = digest.getMessageDigest().digest();
453453

454454
currentWriter.beginOpenTag(cellPrefix + columnIndex, 2).space().append("file=\"")
455-
.append(contentPathStrategy.getInternalClobFileName(currentRowIndex + 1)).append('"').space()
455+
.append(contentPathStrategy.getClobFilePath(currentSchema.getIndex(),currentTable.getIndex(), columnIndex, currentRowIndex + 1)).append('"').space()
456456
.append("length=\"").append(String.valueOf(txtCell.getBytesSize())).append("\"").space().append("digest=\"")
457457
.append(MessageDigestUtils.getHexFromMessageDigest(messageDigest, lowerCase)).append("\"").space()
458458
.append("digestType=\"").append(messageDigestAlgorithm.toUpperCase()).append("\"");

0 commit comments

Comments
 (0)