<service:properties>
<types:item><types:key>authRef</types:key><types:value>currentOwner</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>depositor</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>conditionCheckerAssessor</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>insurer</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>fieldCollectionSources</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>fieldCollectors</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>valuer</types:value></types:item>
- </service:properties>
+ <types:item><types:key>authRef</types:key><types:value>insurers</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>conditionCheckersOrAssessors</types:value></types:item>
+ </service:properties>
<service:content contentType="application/xml">
<service:xmlContent
namespaceURI="http://collectionspace.org/services/intake"
<service:properties>
<types:item><types:key>authRef</types:key><types:value>currentOwner</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>depositor</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>conditionCheckerAssessor</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>insurer</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>fieldCollectionSources</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>fieldCollectors</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>valuer</types:value></types:item>
- </service:properties>
+ <types:item><types:key>authRef</types:key><types:value>insurers</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>conditionCheckersOrAssessors</types:value></types:item>
+ </service:properties>
<service:content contentType="application/xml">
<service:xmlContent
namespaceURI="http://collectionspace.org/services/intake"
<row><widget>depositor</widget></row>
<row><widget>depositorsRequirements</widget></row>
<row><widget>entryDate</widget></row>
- <row><widget>entryMethod</widget></row>
+ <!-- Repeatable fields are commented out for now until we -->
+ <!-- identify how to represent these complex types in layouts. -->
+ <!-- <row><widget>entryMethod</widget></row> -->
<row><widget>entryNote</widget></row>
<row><widget>entryNumber</widget></row>
<row><widget>entryReason</widget></row>
</properties>
</widget>
+<!--
<widget name="entryMethod" type="text">
<labels>
<label mode="any">entryMethod</label>
</properties>
</widget>
+-->
+
<widget name="entryNote" type="text">
<labels>
<label mode="any">entryNote</label>
<xs:element name="depositor" type="xs:string"/>\r
<xs:element name="depositorsRequirements" type="xs:string"/>\r
<xs:element name="entryDate" type="xs:string"/>\r
- <xs:element name="entryMethod" type="xs:string"/>\r
+ <xs:element name="entryMethods">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="entryMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
<xs:element name="entryNote" type="xs:string"/>\r
<xs:element name="entryNumber" type="xs:string"/>\r
<xs:element name="entryReason" type="xs:string"/>\r
<xs:element name="returnDate" type="xs:string"/>\r
\r
<!-- Object Collection Information Group -->\r
+ <xs:element name="fieldCollectionDate" type="xs:string"/>\r
+ <xs:element name="fieldCollectionMethods">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="fieldCollectionMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="fieldCollectionNote" type="xs:string"/>\r
+ <xs:element name="fieldCollectionNumber" type="xs:string"/>\r
+ <xs:element name="fieldCollectionPlace" type="xs:string"/>\r
+ <xs:element name="fieldCollectionSources">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="fieldCollectionSource" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="fieldCollectors">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="fieldCollector" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
<xs:element name="fieldCollectionEventName" type="xs:string"/>\r
\r
<!-- Valuation Information Group -->\r
<xs:element name="insurancePolicyNumber" type="xs:string"/>\r
<xs:element name="insuranceReferenceNumber" type="xs:string"/>\r
<xs:element name="insuranceRenewalDate" type="xs:string"/>\r
- <xs:element name="insurer" type="xs:string"/>\r
+ <xs:element name="insurers">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="insurer" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
\r
<!-- Object Location Information Group -->\r
<xs:element name="currentLocation" type="xs:string"/>\r
\r
<!-- Condition Check/Technical Assessment Information Group -->\r
<xs:element name="conditionCheckDate" type="xs:string"/>\r
- <xs:element name="conditionCheckMethod" type="xs:string"/>\r
+ <xs:element name="conditionCheckMethods">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="conditionCheckMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
<xs:element name="conditionCheckNote" type="xs:string"/>\r
- <xs:element name="conditionCheckReason" type="xs:string"/>\r
+ <xs:element name="conditionCheckReasons">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="conditionCheckReason" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
<xs:element name="conditionCheckReferenceNumber" type="xs:string"/>\r
- <xs:element name="conditionCheckerAssessor" type="xs:string"/>\r
+ <xs:element name="conditionCheckersOrAssessors">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="conditionCheckerOrAssessor" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
\r
</xs:schema>\r
import org.collectionspace.services.client.PersonAuthorityClient;
import org.collectionspace.services.client.PersonAuthorityClientUtils;
import org.collectionspace.services.common.authorityref.AuthorityRefList;
+import org.collectionspace.services.intake.ConditionCheckerOrAssessorList;
import org.collectionspace.services.intake.IntakesCommon;
+import org.collectionspace.services.intake.InsurerList;
import org.collectionspace.services.jaxb.AbstractCommonList;
import org.jboss.resteasy.client.ClientResponse;
private String personAuthCSID = null;
private String currentOwnerRefName = null;
private String depositorRefName = null;
- private String conditionCheckerAssessorRefName = null;
+ private String conditionCheckerOrAssessorRefName = null;
private String insurerRefName = null;
private String valuerRefName = null;
private final int NUM_AUTH_REFS_EXPECTED = 5;
"entryDate-" + identifier,
currentOwnerRefName,
depositorRefName,
- conditionCheckerAssessorRefName,
+ conditionCheckerOrAssessorRefName,
insurerRefName,
valuerRefName );
ClientResponse<Response> res = intakeClient.create(multipart);
personIdsCreated.add(csid);
csid = createPerson("Andrew", "Assessor", "andrewAssessor", authRefName);
- conditionCheckerAssessorRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
+ conditionCheckerOrAssessorRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
personIdsCreated.add(csid);
csid = createPerson("Ingrid", "Insurer", "ingridInsurer", authRefName);
Assert.assertNotNull(intake);
// Check a couple of fields
Assert.assertEquals(intake.getCurrentOwner(), currentOwnerRefName);
- Assert.assertEquals(intake.getInsurer(), insurerRefName);
+ Assert.assertEquals(intake.getConditionCheckersOrAssessors().getConditionCheckerOrAssessor().get(0), conditionCheckerOrAssessorRefName);
+ Assert.assertEquals(intake.getInsurers().getInsurer().get(0), insurerRefName);
// Get the auth refs and check them
ClientResponse<AuthorityRefList> res2 = intakeClient.getAuthorityRefs(knownResourceId);
intake.setEntryDate(entryDate);
intake.setCurrentOwner(currentOwner);
intake.setDepositor(depositor);
- intake.setConditionCheckerAssessor(conditionCheckerAssessor);
- intake.setInsurer(insurer);
intake.setValuer(Valuer);
+
+ ConditionCheckerOrAssessorList checkerOrAssessorList = new ConditionCheckerOrAssessorList();
+ List<String> checkersOrAssessors = checkerOrAssessorList.getConditionCheckerOrAssessor();
+ checkersOrAssessors.add(conditionCheckerAssessor);
+ intake.setConditionCheckersOrAssessors(checkerOrAssessorList);
+
+ InsurerList insurerList = new InsurerList();
+ List<String> insurers = insurerList.getInsurer();
+ insurers.add(insurer);
+ intake.setInsurers(insurerList);
+
MultipartOutput multipart = new MultipartOutput();
OutputPart commonPart =
multipart.addPart(intake, MediaType.APPLICATION_XML_TYPE);
import org.collectionspace.services.client.CollectionSpaceClient;
import org.collectionspace.services.client.IntakeClient;
+import org.collectionspace.services.intake.EntryMethodList;
import org.collectionspace.services.intake.IntakesCommon;
import org.collectionspace.services.intake.IntakesCommonList;
import org.collectionspace.services.jaxb.AbstractCommonList;
IntakesCommon intake = (IntakesCommon) extractPart(input,
client.getCommonPartName(), IntakesCommon.class);
Assert.assertNotNull(intake);
+
+ // Verify the number and contents of values in repeatable fields,
+ // as created in the instance record used for testing.
+ List<String> entryMethods =
+ intake.getEntryMethods().getEntryMethod();
+ Assert.assertTrue(entryMethods.size() > 0);
+ Assert.assertNotNull(entryMethods.get(0));
}
// Failure outcomes
intake.setEntryNumber(entryNumber);
intake.setEntryDate(entryDate);
intake.setDepositor(depositor);
+
+ EntryMethodList entryMethodsList = new EntryMethodList();
+ List<String> entryMethods = entryMethodsList.getEntryMethod();
+ entryMethods.add("Left at doorstep");
+ entryMethods.add("Received via post");
+ intake.setEntryMethods(entryMethodsList);
+
MultipartOutput multipart = new MultipartOutput();
OutputPart commonPart =
multipart.addPart(intake, MediaType.APPLICATION_XML_TYPE);
import org.collectionspace.services.client.OrgAuthorityClient;\r
import org.collectionspace.services.client.OrgAuthorityClientUtils;\r
import org.collectionspace.services.common.authorityref.AuthorityRefDocList;\r
+import org.collectionspace.services.intake.ConditionCheckerOrAssessorList;\r
import org.collectionspace.services.intake.IntakesCommon;\r
-//import org.collectionspace.services.intake.IntakesCommonList;\r
+import org.collectionspace.services.intake.InsurerList;\r
import org.collectionspace.services.jaxb.AbstractCommonList;\r
\r
import org.jboss.resteasy.client.ClientResponse;\r
intake.setEntryDate(entryDate);\r
intake.setCurrentOwner(currentOwner);\r
intake.setDepositor(depositor);\r
- intake.setConditionCheckerAssessor(conditionCheckerAssessor);\r
- intake.setInsurer(insurer);\r
intake.setValuer(Valuer);\r
+\r
+ ConditionCheckerOrAssessorList checkerOrAssessorList = new ConditionCheckerOrAssessorList();\r
+ List<String> checkersOrAssessors = checkerOrAssessorList.getConditionCheckerOrAssessor();\r
+ checkersOrAssessors.add(conditionCheckerAssessor);\r
+ intake.setConditionCheckersOrAssessors(checkerOrAssessorList);\r
+\r
+ InsurerList insurerList = new InsurerList();\r
+ List<String> insurers = insurerList.getInsurer();\r
+ insurers.add(insurer);\r
+ intake.setInsurers(insurerList);\r
+\r
MultipartOutput multipart = new MultipartOutput();\r
OutputPart commonPart =\r
multipart.addPart(intake, MediaType.APPLICATION_XML_TYPE);\r
import org.collectionspace.services.client.PersonAuthorityClient;
import org.collectionspace.services.client.PersonAuthorityClientUtils;
import org.collectionspace.services.common.authorityref.AuthorityRefDocList;
+import org.collectionspace.services.intake.ConditionCheckerOrAssessorList;
import org.collectionspace.services.intake.IntakesCommon;
-//import org.collectionspace.services.intake.IntakesCommonList;
+import org.collectionspace.services.intake.InsurerList;
import org.collectionspace.services.jaxb.AbstractCommonList;
import org.jboss.resteasy.client.ClientResponse;
intake.setEntryDate(entryDate);
intake.setCurrentOwner(currentOwner);
intake.setDepositor(depositor);
- intake.setConditionCheckerAssessor(conditionCheckerAssessor);
- intake.setInsurer(insurer);
intake.setValuer(Valuer);
+
+ ConditionCheckerOrAssessorList checkerOrAssessorList = new ConditionCheckerOrAssessorList();
+ List<String> checkersOrAssessors = checkerOrAssessorList.getConditionCheckerOrAssessor();
+ checkersOrAssessors.add(conditionCheckerAssessor);
+ intake.setConditionCheckersOrAssessors(checkerOrAssessorList);
+
+ InsurerList insurerList = new InsurerList();
+ List<String> insurers = insurerList.getInsurer();
+ insurers.add(insurer);
+ intake.setInsurers(insurerList);
+
MultipartOutput multipart = new MultipartOutput();
OutputPart commonPart =
multipart.addPart(intake, MediaType.APPLICATION_XML_TYPE);
<xs:element name="depositor" type="xs:string"/>
<xs:element name="depositorsRequirements" type="xs:string"/>
<xs:element name="entryDate" type="xs:string"/>
- <xs:element name="entryMethod" type="xs:string"/>
+ <xs:element name="entryMethods" type="entryMethodList"/>
<xs:element name="entryNote" type="xs:string"/>
<xs:element name="entryNumber" type="xs:string"/>
<xs:element name="entryReason" type="xs:string"/>
<xs:element name="returnDate" type="xs:string"/>
<!-- Object Collection Information Group -->
+ <xs:element name="fieldCollectionDate" type="xs:string"/>
+ <xs:element name="fieldCollectionMethods" type="fieldCollectionMethodList"/>
+ <xs:element name="fieldCollectionNote" type="xs:string"/>
+ <xs:element name="fieldCollectionNumber" type="xs:string"/>
+ <xs:element name="fieldCollectionPlace" type="xs:string"/>
+ <xs:element name="fieldCollectionSources" type="fieldCollectionSourceList"/>
+ <xs:element name="fieldCollectors" type="fieldCollectorList"/>
<xs:element name="fieldCollectionEventName" type="xs:string"/>
<!-- Valuation Information Group -->
<xs:element name="insurancePolicyNumber" type="xs:string"/>
<xs:element name="insuranceReferenceNumber" type="xs:string"/>
<xs:element name="insuranceRenewalDate" type="xs:string"/>
- <xs:element name="insurer" type="xs:string"/>
+ <xs:element name="insurers" type="insurerList"/>
<!-- Object Location Information Group -->
<xs:element name="currentLocation" type="xs:string"/>
<!-- Condition Check/Technical Assessment Information Group -->
<xs:element name="conditionCheckDate" type="xs:string"/>
- <xs:element name="conditionCheckMethod" type="xs:string"/>
+ <xs:element name="conditionCheckMethods" type="conditionCheckMethodList"/>
<xs:element name="conditionCheckNote" type="xs:string"/>
- <xs:element name="conditionCheckReason" type="xs:string"/>
+ <xs:element name="conditionCheckReasons" type="conditionCheckReasonList"/>
<xs:element name="conditionCheckReferenceNumber" type="xs:string"/>
- <xs:element name="conditionCheckerAssessor" type="xs:string"/>
+ <xs:element name="conditionCheckersOrAssessors" type="conditionCheckerOrAssessorList"/>
</xs:sequence>
</xs:complexType>
</xs:element>
+
+ <xs:complexType name="entryMethodList">
+ <xs:sequence>
+ <xs:element name="entryMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="fieldCollectionMethodList">
+ <xs:sequence>
+ <xs:element name="fieldCollectionMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="fieldCollectionSourceList">
+ <xs:sequence>
+ <xs:element name="fieldCollectionSource" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="fieldCollectorList">
+ <xs:sequence>
+ <xs:element name="fieldCollector" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="insurerList">
+ <xs:sequence>
+ <xs:element name="insurer" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="conditionCheckMethodList">
+ <xs:sequence>
+ <xs:element name="conditionCheckMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="conditionCheckReasonList">
+ <xs:sequence>
+ <xs:element name="conditionCheckReason" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="conditionCheckerOrAssessorList">
+ <xs:sequence>
+ <xs:element name="conditionCheckerOrAssessor" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
<!-- This is the base class for paginated lists -->
<xs:complexType name="abstractCommonList">