Commit 11469201 authored by Jonas Waeber's avatar Jonas Waeber
Browse files

Remove old files

Add tests for JSON validation.
parent da98b5ea
Pipeline #33665 failed with stages
in 2 minutes
......@@ -155,7 +155,7 @@ class FileValidation(private val step: String) {
Message(format, file.path), Report(
id = file.name,
status = ReportStatus.fatal,
message = ReportMessages.formatError(file.path, format, "Parsed object is empty."),
message = ReportMessages.formatError(file.path, format, "Parsed object is empty"),
step = step
)
)
......@@ -179,6 +179,16 @@ class FileValidation(private val step: String) {
step = step
)
)
} catch (ex: ClassCastException) {
Pair(
Message(Formats.error, file.path),
Report(
id = file.name,
status = ReportStatus.fatal,
message = ReportMessages.formatError(file.path, format, "Expected json object as top level entity"),
step = step
)
)
}
}
}
......
......@@ -17,33 +17,133 @@
*/
package org.memobase.test
import ch.memobase.reporting.Report
import ch.memobase.reporting.ReportStatus
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance
import org.junit.jupiter.api.assertAll
import org.memobase.FileValidation
import org.memobase.Formats
import org.memobase.Message
import java.io.File
import java.io.FileInputStream
import java.io.InputStream
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@Disabled
class TestFileValidation {
private val path = "src/test/resources/data"
private fun read(format: String, filename: String): InputStream {
return FileInputStream(File("$path/$format/$filename"))
}
private fun assertValidation(
result: Pair<Message, Report>,
expectedFormat: String,
expectedPath: String,
expectedStatus: String,
expectedMessage: String
) {
assertAll(
{
assertThat(result.first.format)
.isEqualTo(expectedFormat)
},
{
assertThat(result.first.path)
.isEqualTo(expectedPath)
},
{
assertThat(result.second.status)
.isEqualTo(expectedStatus)
},
{
assertThat(result.second.message)
.isEqualTo(expectedMessage)
}
)
}
@Test
@Disabled
fun testLargeFileValidation() {
val validation = FileValidation("test")
val result = validation.validate(
FileInputStream(File("$path/test_large_file.xlsx")),
read("xslt", "test_large_file.xlsx"),
Formats.xlsx,
File("$path/test_large_file.xlsx")
File("$path/xslt/test_large_file.xlsx")
)
assertThat(result.second.status)
.isEqualTo(ReportStatus.success)
}
@Test
fun `test valid json file`() {
val validation = FileValidation("test")
val result = validation.validate(
read("json", "valid.json"),
Formats.json,
File("$path/json/valid.json")
)
assertValidation(
result,
Formats.json,
"src/test/resources/data/json/valid.json",
ReportStatus.success,
"Validated file at path src/test/resources/data/json/valid.json with format JSON."
)
}
@Test
fun `test empty json file`() {
val validation = FileValidation("test")
val result = validation.validate(
read("json", "empty.json"),
Formats.json,
File("$path/json/empty.json")
)
assertValidation(
result,
Formats.json,
"src/test/resources/data/json/empty.json",
ReportStatus.fatal,
"JSON ERROR: Parsed object is empty for file src/test/resources/data/json/empty.json."
)
}
@Test
fun `test invalid json file`() {
val validation = FileValidation("test")
val result = validation.validate(
read("json", "invalid.json"),
Formats.json,
File("$path/json/invalid.json")
)
assertValidation(
result,
Formats.error,
"src/test/resources/data/json/invalid.json",
ReportStatus.fatal,
"JSON ERROR: Unexpected character at position 5: 'a' (ASCII: 97)' for file src/test/resources/data/json/invalid.json."
)
}
@Test
fun `test list json file`() {
val validation = FileValidation("test")
val result = validation.validate(
read("json", "list.json"),
Formats.json,
File("$path/json/list.json")
)
assertValidation(
result,
Formats.error,
"src/test/resources/data/json/list.json",
ReportStatus.fatal,
"JSON ERROR: Expected json object as top level entity for file src/test/resources/data/json/list.json."
)
}
}
\ No newline at end of file
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
test,test,test,test,test
test,test,test,test,test
test,test,test,test,test
<?xml version="1.0" encoding="UTF-8"?>
<foxml:digitalObject VERSION="1.1" PID="memobase:ADG-102821"
xmlns:foxml="info:fedora/fedora-system:def/foxml#"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd">
<foxml:objectProperties
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/>
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Grabung_Castaneda__Siedlung_"/>
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="ADG"/>
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2019-11-08T13:12:48.159Z"/>
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2019-11-08T13:12:48.503Z"/>
</foxml:objectProperties>
<foxml:datastream ID="AUDIT" STATE="A" CONTROL_GROUP="X" VERSIONABLE="false">
<foxml:datastreamVersion ID="AUDIT.0" LABEL="Audit Trail for this object" CREATED="2019-11-08T13:12:48.159Z" MIMETYPE="text/xml" FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit">
<foxml:xmlContent>
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#">
<audit:record ID="AUDREC1">
<audit:process type="Fedora API-M"/>
<audit:action>addDatastream</audit:action>
<audit:componentID>TRANSFORMED_METADATA_0</audit:componentID>
<audit:responsibility>fedoraAdmin</audit:responsibility>
<audit:date>2019-11-08T13:12:48.284Z</audit:date>
<audit:justification></audit:justification>
</audit:record>
<audit:record ID="AUDREC2">
<audit:process type="Fedora API-M"/>
<audit:action>addDatastream</audit:action>
<audit:componentID>THUMBNAIL_0</audit:componentID>
<audit:responsibility>fedoraAdmin</audit:responsibility>
<audit:date>2019-11-08T13:12:48.347Z</audit:date>
<audit:justification></audit:justification>
</audit:record>
<audit:record ID="AUDREC3">
<audit:process type="Fedora API-M"/>
<audit:action>modifyDatastreamByValue</audit:action>
<audit:componentID>DC</audit:componentID>
<audit:responsibility>fedoraAdmin</audit:responsibility>
<audit:date>2019-11-08T13:12:48.441Z</audit:date>
<audit:justification></audit:justification>
</audit:record>
<audit:record ID="AUDREC4">
<audit:process type="Fedora API-M"/>
<audit:action>addDatastream</audit:action>
<audit:componentID>ACCESSCOPY_0</audit:componentID>
<audit:responsibility>fedoraAdmin</audit:responsibility>
<audit:date>2019-11-08T13:12:48.503Z</audit:date>
<audit:justification></audit:justification>
</audit:record>
</audit:auditTrail>
</foxml:xmlContent>
</foxml:datastreamVersion>
</foxml:datastream>
<foxml:datastream ID="DC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
<foxml:datastreamVersion ID="DC1.0" LABEL="Dublin Core Record for this object" CREATED="2019-11-08T13:12:48.159Z" MIMETYPE="text/xml" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" SIZE="400">
<foxml:xmlContent>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Grabung_Castaneda__Siedlung_</dc:title>
<dc:identifier>memobase:ADG-102821</dc:identifier>
</oai_dc:dc>
</foxml:xmlContent>
</foxml:datastreamVersion>
<foxml:datastreamVersion ID="DC.1" LABEL="Dublin Core Record for this object" CREATED="2019-11-08T13:12:48.441Z" MIMETYPE="text/xml" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" SIZE="607">
<foxml:xmlContent>
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Grabung Castaneda (Siedlung)</dc:title>
<dc:type>memobase:MemobaseDocumentModel-1.0</dc:type>
<dc:identifier>memobase:ADG-102821</dc:identifier>
<dc:source>102821</dc:source>
<dc:language>en</dc:language>
<dc:relation>memobase:ADG-68432</dc:relation>
<dc:rights>onsite,public</dc:rights>
</oai_dc:dc>
</foxml:xmlContent>
</foxml:datastreamVersion>
</foxml:datastream>
<foxml:datastream ID="TRANSFORMED_METADATA_0" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
<foxml:datastreamVersion ID="TRANSFORMED_METADATA_0.0" LABEL="Internal Memobase Metadata" CREATED="2019-11-08T13:12:48.284Z" MIMETYPE="text/xml" FORMAT_URI="urn:ebu:metadata-schema:ebuCore_2012" SIZE="3003">
<foxml:xmlContent>
<ebuCoreMain xmlns="urn:ebu:metadata-schema:ebuCore_2012" xmlns:ns2="http://purl.org/dc/elements/1.1/" xml:lang="de">
<coreMetadata>
<title>
<ns2:title>Grabung Castaneda (Siedlung)</ns2:title>
</title>
<alternativeTitle typeLabel="SerieTitle">
<ns2:title>Grabung Walo Burkart und Karl Keller-Tarnuzzer, Castaneda (Gräberfeld und Siedlung)</ns2:title>
</alternativeTitle>
<creator>
<contactDetails>
<name>[unbekannt]</name>
</contactDetails>
<role typeLabel="Author"></role>
</creator>
<subject typeLabel="Keywords">
<ns2:subject>Ausgrabung, Archäologie</ns2:subject>
</subject>
<description typeLabel="Abstract">
<ns2:description>Feld 1, östlicher Teil von Westen</ns2:description>
</description>
<description typeLabel="Claim">
<ns2:description>Dieses Dokument wurde Dank der Unterstützung von Memoriav erhalten.</ns2:description>
</description>
<description typeLabel="RecordingLocation">
<ns2:description>Castaneda</ns2:description>
</description>
<contributor>
<organisationDetails>
<organisationName>ADG</organisationName>
</organisationDetails>
<role typeLabel="ResponsibleInstitution"></role>
</contributor>
<date>
<created startYear="1942"></created>
</date>
<type>
<genre typeLabel="Grabungsfotografie / Arbeitsfotografie / Sachfotografie"></genre>
</type>
<type>
<objectType typeLabel="photograph"></objectType>
</type>
<format>
<medium typeLabel="[keine Information vorhanden]"></medium>
<imageFormat>
<technicalAttributeString typeLabel="ColorMode">sw</technicalAttributeString>
<technicalAttributeString typeLabel="Remarks">Album-Nr.: A2</technicalAttributeString>
</imageFormat>
</format>
<identifier typeLabel="Original">
<ns2:identifier>102821</ns2:identifier>
<attributor entityId="Provider"></attributor>
</identifier>
<identifier typeLabel="CallNumber">
<ns2:identifier>RM_1_33_6</ns2:identifier>
</identifier>
<identifier typeLabel="Main">
<ns2:identifier>ADG-102821</ns2:identifier>
</identifier>
<isMemberOf>
<ns2:relation>ADG-68432</ns2:relation>
</isMemberOf>
<coverage>
<temporal>
<PeriodOfTime period="1929-1945"></PeriodOfTime>
</temporal>
<spatial>
<location>
<name>Schweiz, Graubünden, Castaneda</name>
</location>
</spatial>
</coverage>
<rights typeLabel="Holder">
<rightsHolder>
<contactDetails>
<name>Archäologischer Dienst Graubünden</name>
</contactDetails>
</rightsHolder>
</rights>
<rights typeLabel="Access">
<ns2:rights>public, onsite</ns2:rights>
</rights>
<rights typeLabel="Usage">
<ns2:rights>Die Nutzungsrechte müssen mit dem Rechtinhaber geklärt werden</ns2:rights>
</rights>
</coreMetadata>
</ebuCoreMain>
</foxml:xmlContent>
</foxml:datastreamVersion>
</foxml:datastream>
<foxml:datastream ID="THUMBNAIL_0" STATE="A" CONTROL_GROUP="M" VERSIONABLE="true">
<foxml:datastreamVersion ID="THUMBNAIL_0.0" LABEL="RM_1_33_6.png" CREATED="2019-11-08T13:12:48.347Z" MIMETYPE="image/png" SIZE="27973">
<foxml:contentLocation TYPE="INTERNAL_ID" REF="memobase:ADG-102821+THUMBNAIL_0+THUMBNAIL_0.0"/>
</foxml:datastreamVersion>
</foxml:datastream>
<foxml:datastream ID="ACCESSCOPY_0" STATE="A" CONTROL_GROUP="M" VERSIONABLE="true">
<foxml:datastreamVersion ID="ACCESSCOPY_0.0" LABEL="RM_1_33_6.jpg" CREATED="2019-11-08T13:12:48.503Z" MIMETYPE="image/jpeg" SIZE="1585055">
<foxml:contentLocation TYPE="INTERNAL_ID" REF="memobase:ADG-102821+ACCESSCOPY_0+ACCESSCOPY_0.0"/>
</foxml:datastreamVersion>
</foxml:datastream>
</foxml:digitalObject>
\ No newline at end of file
{}
\ No newline at end of file
{
sad21,asd2sad
}
\ No newline at end of file
[
{
"hello": "world"
},
{
"hello": "world2"
}
]
\ No newline at end of file
{
"hello": "world"
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<foxml:digitalObject VERSION="1.1" PID="memobase:ADG-102821"
xmlns:foxml="info:fedora/fedora-system:def/foxml#"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd">
<foxml:objectProperties>
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/>
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Grabung_Castaneda__Siedlung_"/>
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="ADG"/>
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2019-11-08T13:12:48.159Z"/>
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2019-11-08T13:12:48.503Z"/>
</foxml:objectProperties>
<foxml:datastream ID="AUDIT" STATE="A" CONTROL_GROUP="X" VERSIONABLE="false">
<foxml:datastreamVersion ID="AUDIT.0" LABEL="Audit Trail for this object" CREATED="2019-11-08T13:12:48.159Z" MIMETYPE="text/xml" FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit">
<foxml:xmlContent>
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#">
<audit:record ID="AUDREC1">
<audit:process type="Fedora API-M"/>
<audit:action>addDatastream</audit:action>
<audit:componentID>TRANSFORMED_METADATA_0</audit:componentID>
<audit:responsibility>fedoraAdmin</audit:responsibility>
<audit:date>2019-11-08T13:12:48.284Z</audit:date>
<audit:justification></audit:justification>
</audit:record>
<audit:record ID="AUDREC2">
<audit:process type="Fedora API-M"/>
<audit:action>addDatastream</audit:action>
<audit:componentID>THUMBNAIL_0</audit:componentID>
<audit:responsibility>fedoraAdmin</audit:responsibility>
<audit:date>2019-11-08T13:12:48.347Z</audit:date>
<audit:justification></audit:justification>
</audit:record>
<audit:record ID="AUDREC3">
<audit:process type="Fedora API-M"/>
<audit:action>modifyDatastreamByValue</audit:action>
<audit:componentID>DC</audit:componentID>
<audit:responsibility>fedoraAdmin</audit:responsibility>
<audit:date>2019-11-08T13:12:48.441Z</audit:date>
<audit:justification></audit:justification>
</audit:record>
<audit:record ID="AUDREC4">
<audit:process type="Fedora API-M"/>
<audit:action>addDatastream</audit:action>
<audit:componentID>ACCESSCOPY_0</audit:componentID>
<audit:responsibility>fedoraAdmin</audit:responsibility>
<audit:date>2019-11-08T13:12:48.503Z</audit:date>
<audit:justification></audit:justification>
</audit:record>
</audit:auditTrail>
</foxml:xmlContent>
</foxml:datastreamVersion>
</foxml:datastream>
<foxml:datastream ID="DC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
<foxml:datastreamVersion ID="DC1.0" LABEL="Dublin Core Record for this object" CREATED="2019-11-08T13:12:48.159Z" MIMETYPE="text/xml" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" SIZE="400">
<foxml:xmlContent>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Grabung_Castaneda__Siedlung_</dc:title>
<dc:identifier>memobase:ADG-102821</dc:identifier>
</oai_dc:dc>
</foxml:xmlContent>
</foxml:datastreamVersion>
<foxml:datastreamVersion ID="DC.1" LABEL="Dublin Core Record for this object" CREATED="2019-11-08T13:12:48.441Z" MIMETYPE="text/xml" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" SIZE="607">
<foxml:xmlContent>
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Grabung Castaneda (Siedlung)</dc:title>
<dc:type>memobase:MemobaseDocumentModel-1.0</dc:type>
<dc:identifier>memobase:ADG-102821</dc:identifier>
<dc:source>102821</dc:source>
<dc:language>en</dc:language>
<dc:relation>memobase:ADG-68432</dc:relation>
<dc:rights>onsite,public</dc:rights>
</oai_dc:dc>
</foxml:xmlContent>
</foxml:datastreamVersion>
</foxml:datastream>
<foxml:datastream ID="TRANSFORMED_METADATA_0" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
<foxml:datastreamVersion ID="TRANSFORMED_METADATA_0.0" LABEL="Internal Memobase Metadata" CREATED="2019-11-08T13:12:48.284Z" MIMETYPE="text/xml" FORMAT_URI="urn:ebu:metadata-schema:ebuCore_2012" SIZE="3003">
<foxml:xmlContent>
<ebuCoreMain xmlns="urn:ebu:metadata-schema:ebuCore_2012" xmlns:ns2="http://purl.org/dc/elements/1.1/" xml:lang="de">
<coreMetadata>
<title>
<ns2:title>Grabung Castaneda (Siedlung)</ns2:title>
</title>
<alternativeTitle typeLabel="SerieTitle">
<ns2:title>Grabung Walo Burkart und Karl Keller-Tarnuzzer, Castaneda (Gräberfeld und Siedlung)</ns2:title>
</alternativeTitle>
<creator>
<contactDetails>
<name>[unbekannt]</name>
</contactDetails>
<role typeLabel="Author"></role>
</creator>
<subject typeLabel="Keywords">
<ns2:subject>Ausgrabung, Archäologie</ns2:subject>
</subject>
<description typeLabel="Abstract">
<ns2:description>Feld 1, östlicher Teil von Westen</ns2:description>
</description>
<description typeLabel="Claim">
<ns2:description>Dieses Dokument wurde Dank der Unterstützung von Memoriav erhalten.</ns2:description>
</description>
<description typeLabel="RecordingLocation">
<ns2:description>Castaneda</ns2:description>
</description>
<contributor>
<organisationDetails>
<organisationName>ADG</organisationName>
</organisationDetails>
<role typeLabel="ResponsibleInstitution"></role>
</contributor>
<date>
<created startYear="1942"></created>
</date>
<type>
<genre typeLabel="Grabungsfotografie / Arbeitsfotografie / Sachfotografie"></genre>
</type>
<type>
<objectType typeLabel="photograph"></objectType>
</type>
<format>
<medium typeLabel="[keine Information vorhanden]"></medium>
<imageFormat>
<technicalAttributeString typeLabel="ColorMode">sw</technicalAttributeString>
<technicalAttributeString typeLabel="Remarks">Album-Nr.: A2</technicalAttributeString>
</imageFormat>
</format>
<identifier typeLabel="Original">
<ns2:identifier>102821</ns2:identifier>
<attributor entityId="Provider"></attributor>
</identifier>
<identifier typeLabel="CallNumber">
<ns2:identifier>RM_1_33_6</ns2:identifier>
</identifier>
<identifier typeLabel="Main">
<ns2:identifier>ADG-102821</ns2:identifier>
</identifier>
<isMemberOf>
<ns2:relation>ADG-68432</ns2:relation>
</isMemberOf>
<coverage>
<temporal>
<PeriodOfTime period="1929-1945"></PeriodOfTime>
</temporal>
<spatial>
<location>
<name>Schweiz, Graubünden, Castaneda</name>
</location>
</spatial>
</coverage>
<rights typeLabel="Holder">
<rightsHolder>
<contactDetails>
<name>Archäologischer Dienst Graubünden</name>
</contactDetails>
</rightsHolder>
</rights>
<rights typeLabel="Access">
<ns2:rights>public, onsite</ns2:rights>
</rights>
<rights typeLabel="Usage">
<ns2:rights>Die Nutzungsrechte müssen mit dem Rechtinhaber geklärt werden</ns2:rights>
</rights>
</coreMetadata>
</ebuCoreMain>
</foxml:xmlContent>
</foxml:datastreamVersion>
</foxml:datastream>
<foxml:datastream ID="THUMBNAIL_0" STATE="A" CONTROL_GROUP="M" VERSIONABLE="true">
<foxml:datastreamVersion ID="THUMBNAIL_0.0" LABEL="RM_1_33_6.png" CREATED="2019-11-08T13:12:48.347Z" MIMETYPE="image/png" SIZE="27973">
<foxml:contentLocation TYPE="INTERNAL_ID" REF="memobase:ADG-102821+THUMBNAIL_0+THUMBNAIL_0.0"/>
</foxml:datastreamVersion>
</foxml:datastream>
<foxml:datastream ID="ACCESSCOPY_0" STATE="A" CONTROL_GROUP="M" VERSIONABLE="true">
<foxml:datastreamVersion ID="ACCESSCOPY_0.0" LABEL="RM_1_33_6.jpg" CREATED="2019-11-08T13:12:48.503Z" MIMETYPE="image/jpeg" SIZE="1585055">
<foxml:contentLocation TYPE="INTERNAL_ID" REF="memobase:ADG-102821+ACCESSCOPY_0+ACCESSCOPY_0.0"/>
</foxml:datastreamVersion>
</foxml:datastream>
</foxml:digitalObject>
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment