package org.collectionspace.services.IntegrationTests.test;\r
\r
import java.util.ArrayList;\r
+import java.util.List;\r
\r
import javax.ws.rs.core.MultivaluedMap;\r
import javax.ws.rs.core.Response;\r
import javax.xml.bind.Marshaller;\r
\r
import org.collectionspace.services.collectionobject.CollectionobjectsCommon;\r
+import org.collectionspace.services.collectionobject.TitleGroup;\r
+import org.collectionspace.services.collectionobject.TitleGroupList;\r
import org.collectionspace.services.intake.IntakesCommon;\r
import org.collectionspace.services.relation.RelationsCommon;\r
import org.collectionspace.services.relation.RelationshipType;\r
void fillCollectionObject(CollectionobjectsCommon co, String objectNumber,\r
String title) {\r
co.setObjectNumber(objectNumber);\r
- co.setTitle(title);\r
+ TitleGroupList titleGroupList = new TitleGroupList();\r
+ List<TitleGroup> titleGroups = titleGroupList.getTitleGroup();\r
+ TitleGroup titleGroup = new TitleGroup();\r
+ titleGroup.setTitle(title);\r
+ titleGroups.add(titleGroup);\r
+ co.setTitleGroupList(titleGroupList);\r
}\r
\r
/**\r
xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd">
<objectNumber>2</objectNumber>
<comments>description</comments>
- <title></title>
<briefDescriptions>
<!-- First value instance of this repeatable field is blank -->
<briefDescription></briefDescription>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd">
<objectNumber>2</objectNumber>
- <comments>description</comments>
- <title></title>
+ <distinguishingFeatures>features</distinguishingFeatures>
<briefDescriptions>
<!-- First value instance of this repeatable field is non-blank -->
<briefDescription>data</briefDescription>
<responsibleDepartment>urn:org.collectionspace.services.department:Registrar</responsibleDepartment>\r
<responsibleDepartment>urn:org.walkerart.department:Fine Art</responsibleDepartment>\r
</responsibleDepartments>\r
-<title>atitle</title>\r
+<titleGroupList><titleGroup><title>title</title></titleGroup></titleGroupList>\r
<age>\r
</age>\r
<dimensions>\r
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:collectionobjects_common xmlns:ns2="http://collectionspace.org/services/collectionobject">
<objectNumber>objectNumber</objectNumber>
-
-<otherNumber>XXX</otherNumber>
-<otherNumberType>otherNumberType</otherNumberType>
<briefDescriptions> <briefDescription> briefDescription</briefDescription></briefDescriptions>
<distinguishingFeatures>distFeatures</distinguishingFeatures>
<numberOfObjects>numberOfObjects</numberOfObjects>
<!-- test whitespace as first child node -->
<responsibleDepartments> <responsibleDepartment> responsibleDept1</responsibleDepartment><responsibleDepartment>responsibleDept2</responsibleDepartment></responsibleDepartments>
-<title>title</title>
+<titleGroupList><titleGroup><title>title</title></titleGroup></titleGroupList>
</ns2:collectionobjects_common>
<responsibleDepartment>responsibleDept1</responsibleDepartment>
<responsibleDepartment>responsibleDept2</responsibleDepartment>
</responsibleDepartments>
-
-<title>title</title>
</ns2:collectionobjects_common>
<responsibleDepartment> responsibleDept1</responsibleDepartment>
<responsibleDepartment>responsibleDept2</responsibleDepartment>
</responsibleDepartments>
-
-<title>title</title>
</ns2:collectionobjects_common>
<responsibleDepartment>responsibleDept1</responsibleDepartment>
<responsibleDepartment>responsibleDept2</responsibleDepartment>
</responsibleDepartments>
-
-<title>title</title>
</ns2:collectionobjects_common>
<objectNumber>objectNumber</objectNumber>
<otherNumber>XXX</otherNumber>
<otherNumberType>otherNumberType</otherNumberType>
- <comments>This is an UPDATEd comment</comments>
- <title>NEW TITLE UPDATED</title>
-
-</ns2:collectionobjects_common>
+ <distinguishingFeatures>This is an UPDATEd distFeatures</distinguishingFeatures>
+ <titleGroupList><titleGroup><title>NEW TITLE UPDATED</title></titleGroup></titleGroupList>
+</ns2:collectionobjects_common>
<numberOfObjects>numberOfObjects</numberOfObjects>
<responsibleDepartments>
</responsibleDepartments>
- <title>title</title>
+ <titleGroupList>
+ <titleGroup>
+ <title>title</title>
+ </titleGroup>
+ </titleGroupList>
<objectTitleLanguage>objectTitleLanguage</objectTitleLanguage>
<titleTranslation>titleTranslation</titleTranslation>
<titleType>titleType</titleType>
package org.collectionspace.services.PerformanceTests.test;\r
\r
import java.util.ArrayList;\r
+import java.util.List;\r
import java.util.Random;\r
\r
import javax.ws.rs.core.MultivaluedMap;\r
import javax.xml.bind.Marshaller;\r
\r
import org.collectionspace.services.collectionobject.CollectionobjectsCommon;\r
+import org.collectionspace.services.collectionobject.TitleGroup;\r
+import org.collectionspace.services.collectionobject.TitleGroupList;\r
import org.collectionspace.services.intake.IntakesCommon;\r
import org.collectionspace.services.relation.RelationsCommon;\r
import org.collectionspace.services.relation.RelationshipType;\r
void fillCollectionObject(CollectionobjectsCommon co, String objectNumber,\r
String title) {\r
co.setObjectNumber(objectNumber);\r
- co.setTitle(title);\r
+ TitleGroupList titleGroupList = new TitleGroupList();\r
+ List<TitleGroup> titleGroups = titleGroupList.getTitleGroup();\r
+ TitleGroup titleGroup = new TitleGroup();\r
+ titleGroup.setTitle(title);\r
+ titleGroups.add(titleGroup);\r
+ co.setTitleGroupList(titleGroupList);\r
}\r
\r
/**\r
<xs:element name="remNumber" type="ns:otherNumber"/>\r
\r
<!-- Object identification information -->\r
+\r
<xs:element name="objectNumber" type="xs:string"/>\r
<xs:element name="otherNumberList" type="ns:otherNumberList"/>\r
-\r
<!-- Remove these two elements when the App/UI layer is using -->\r
<!-- the new repeatable 'otherNumbers' field: -->\r
<xs:element name="otherNumber" type="xs:string"/>\r
<xs:element name="otherNumberType" type="xs:string"/>\r
-\r
+ <!-- end of two elements to be removed -->\r
<xs:element name="briefDescriptions" type="xs:string">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element name="distinguishingFeatures" type="xs:string"/>\r
<xs:element name="numberOfObjects" type="xs:string"/>\r
<xs:element name="objectNameList" type="ns:objectNameList"/>\r
-\r
<xs:element name="responsibleDepartments">\r
<xs:complexType>\r
<xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="collection" type="xs:string"/>\r
-\r
- <!-- FIXME Start of Title repeatable group -->\r
- <xs:element name="title" type="xs:string"/>\r
- <xs:element name="titleLanguage" type="xs:string"/>\r
- <xs:element name="titleTranslation" type="xs:string"/>\r
- <!-- FIXME [1.0 alpha] Need to add titleTranslationLanguage field here. DONE -->\r
- <xs:element name="titleTranslationLanguage" type="xs:string"/>\r
- <xs:element name="titleType" type="xs:string"/>\r
- <!-- FIXME End of Title repeatable group -->\r
-\r
+ <xs:element name="titleGroupList" type="titleGroupList"/>\r
<xs:element name="recordStatus" type="xs:string"/>\r
\r
<!-- Object Description Information -->\r
+\r
<xs:element name="age" type="xs:string"/>\r
<xs:element name="ageQualifier" type="xs:string"/>\r
<xs:element name="ageUnit" type="xs:string"/>\r
<!-- field, so perhaps this may merely be a product of some confusion. -->\r
<xs:element name="contentDate" type="xs:string"/>\r
<xs:element name="contentDescription" type="xs:string"/>\r
-\r
- <!-- FIXME Start of Content event name repeatable group -->\r
- <xs:element name="contentEventName" type="xs:string"/>\r
- <xs:element name="contentEventNameType" type="xs:string"/>\r
- <!-- FIXME End of Content event name repeatable group -->\r
-\r
+ <xs:element name="contentEventNameGroupList" type="contentEventNameGroupList"/>\r
<xs:element name="contentNote" type="xs:string"/>\r
<xs:element name="contentLanguages">\r
<xs:complexType>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
-\r
- <!-- FIXME Start of Content object repeatable group -->\r
- <xs:element name="contentObject" type="xs:string"/>\r
- <xs:element name="contentObjectType" type="xs:string"/>\r
- <!-- FIXME End of Content object repeatable group -->\r
-\r
+ <xs:element name="contentObjectGroupList" type="contentObjectGroupList"/>\r
<xs:element name="contentOrganizations">\r
<xs:complexType>\r
<xs:sequence>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
-\r
- <!-- FIXME Start of Content other group -->\r
- <xs:element name="contentOther" type="xs:string"/>\r
- <xs:element name="contentOtherType" type="xs:string"/>\r
- <!-- FIXME End of Content other group -->\r
-\r
+ <xs:element name="contentOtherGroupList" type="contentOtherGroupList"/>\r
<xs:element name="contentPeoples">\r
<xs:complexType>\r
<xs:sequence>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
-\r
- <!-- FIXME [1.0 alpha] contentPosition field must be made repeatable. DONE -->\r
<xs:element name="contentPositions">\r
<xs:complexType>\r
<xs:sequence>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
- \r
<xs:element name="contentScripts">\r
<xs:complexType>\r
<xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
<xs:element name="copyNumber" type="xs:string"/>\r
- \r
- <!-- FIXME [1.0 alpha] Need to add dimensionSummary field here. DONE -->\r
+ <!-- FIXME Move this dimensionSummary field into the repeatable Dimensions group in 1.3+ -->\r
<xs:element name="dimensionSummary" type="xs:string"/>\r
<xs:element name="dimensions" type="ns:dimensionList"/>\r
-\r
<!-- FIXME Remove these six elements when the App/UI layer is -->\r
<!-- using the new repeatable 'dimensions' field: -->\r
<xs:element name="dimension" type="xs:string"/>\r
<xs:element name="dimensionValue" type="xs:string"/>\r
<xs:element name="dimensionValueDate" type="xs:string"/>\r
<xs:element name="dimensionValueQualifier" type="xs:string"/>\r
-\r
+ <!-- end of six elements to be removed -->\r
<xs:element name="editionNumber" type="xs:string"/>\r
<xs:element name="forms">\r
<xs:complexType>\r
\r
<!-- Object description Inscription - Content Information -->\r
\r
- <!-- FIXME Start of Inscription content (or Textual inscription) repeatable group -->\r
<!-- FIXME Consider whether changes to field names below are required -->\r
<!-- in response to the renaming of this group to Textual inscription -->\r
<xs:element name="inscriptionContent" type="xs:string"/>\r
<xs:element name="inscriptionContentTranslation" type="xs:string"/>\r
<xs:element name="inscriptionContentTransliteration" type="xs:string"/>\r
<xs:element name="inscriptionContentType" type="xs:string"/>\r
- <!-- FIXME End of Inscription content (or Textual inscription) repeatable group -->\r
\r
<!-- Object Description Inscription - Description Information -->\r
\r
- <!-- FIXME Start of Inscription description (or Non-textual inscription) repeatable group -->\r
<!-- FIXME Consider whether changes to field names below are required -->\r
<!-- in response to the renaming of this group to Non-textual inscription -->\r
<xs:element name="inscriptionDescription" type="xs:string"/>\r
<xs:element name="inscriptionDescriptionMethod" type="xs:string"/>\r
<xs:element name="inscriptionDescriptionPosition" type="xs:string"/>\r
<xs:element name="inscriptionDescriptionType" type="xs:string"/>\r
- <!-- FIXME End of Inscription description (or Non-textual inscription) repeatable group -->\r
\r
<!-- Object Description Material Information -->\r
\r
- <!-- FIXME Start of Material repeatable group -->\r
- <xs:element name="material" type="xs:string"/>\r
- <xs:element name="materialComponent" type="xs:string"/>\r
- <xs:element name="materialComponentNote" type="xs:string"/>\r
- <xs:element name="materialName" type="xs:string"/>\r
- <xs:element name="materialSource" type="xs:string"/>\r
- <!-- FIXME End of Material repeatable group -->\r
+ <xs:element name="materialGroupList" type="materialGroupList"/>\r
\r
<!-- Misc Object Description Information -->\r
+\r
<xs:element name="objectStatus" type="xs:string"/>\r
<xs:element name="phase" type="xs:string"/>\r
<xs:element name="physicalDescription" type="xs:string"/>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
-\r
- <!-- FIXME Start of Technical attribute repeatable group -->\r
- <xs:element name="technicalAttribute" type="xs:string"/>\r
- <xs:element name="technicalAttributeMeasurement" type="xs:string"/>\r
- <xs:element name="technicalAttributeMeasurementUnit" type="xs:string"/>\r
- <!-- FIXME End of Technical attribute repeatable group -->\r
-\r
- <!-- FIXME Start of Object component repeatable group -->\r
- <xs:element name="objectComponentName" type="xs:string"/>\r
- <xs:element name="objectComponentInformation" type="xs:string"/>\r
- <!-- FIXME End of Object component repeatable group -->\r
+ <xs:element name="technicalAttributeGroupList" type="technicalAttributeGroupList"/>\r
+ <xs:element name="objectComponentGroupList" type="objectComponentGroupList"/>\r
\r
<!-- Object Production Information -->\r
\r
- <!-- FIXME [1.0 alpha] objectProductionDate field must be made repeatable. DONE -->\r
<xs:element name="objectProductionDates">\r
<xs:complexType>\r
<xs:sequence>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
-\r
<xs:element name="objectProductionNote" type="xs:string"/>\r
-\r
- <!-- FIXME Start of Object production organization repeatable group -->\r
- <xs:element name="objectProductionOrganization" type="xs:string"/>\r
- <xs:element name="objectProductionOrganizationRole" type="xs:string"/>\r
- <!-- FIXME End of Object production organization repeatable group -->\r
-\r
- <!-- FIXME Start of Object production people repeatable group -->\r
- <xs:element name="objectProductionPeople" type="xs:string"/>\r
- <xs:element name="objectProductionPeopleRole" type="xs:string"/>\r
- <!-- FIXME End of Object production people repeatable group -->\r
-\r
- <!-- FIXME Start of Object production person repeatable group -->\r
- <xs:element name="objectProductionPerson" type="xs:string"/>\r
- <xs:element name="objectProductionPersonRole" type="xs:string"/>\r
- <!-- FIXME End of Object production person repeatable group -->\r
-\r
- <!-- FIXME Start of Object production place repeatable group -->\r
- <xs:element name="objectProductionPlace" type="xs:string"/>\r
- <xs:element name="objectProductionPlaceRole" type="xs:string"/>\r
- <!-- FIXME End of Object production place repeatable group -->\r
-\r
- <!-- FIXME [1.0 alpha] objectProductionReason field must be made repeatable. DONE -->\r
+ <xs:element name="objectProductionOrganizationGroupList" type="objectProductionOrganizationGroupList"/>\r
+ <xs:element name="objectProductionPeopleGroupList" type="objectProductionPeopleGroupList"/>\r
+ <xs:element name="objectProductionPersonGroupList" type="objectProductionPersonGroupList"/>\r
+ <xs:element name="objectProductionPlaceGroupList" type="objectProductionPlaceGroupList"/>\r
<xs:element name="objectProductionReasons">\r
<xs:complexType>\r
<xs:sequence>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
-\r
- <!-- FIXME Start of Technique repeatable group -->\r
- <xs:element name="technique" type="xs:string"/>\r
- <xs:element name="techniqueType" type="xs:string"/>\r
- <!-- FIXME End of Technique repeatable group -->\r
+ <xs:element name="techniqueGroupList" type="techniqueGroupList"/>\r
\r
<!-- Object History and Association Information - Association -->\r
\r
<!-- In the following field names, "assoc" is an abbreviation for "associated". -->\r
<!-- See the comments to CSPACE-2501 for a discussion of the database identifier -->\r
<!-- length limit that made this abbreviation necessary. -->\r
-\r
- <!-- FIXME Start of Associated activity repeatable group -->\r
- <xs:element name="assocActivity" type="xs:string"/>\r
- <xs:element name="assocActivityNote" type="xs:string"/>\r
- <!-- FIXME End of Associated activity repeatable group -->\r
-\r
- <!-- FIXME Convert to Associated concept repeatable group -->\r
- <!-- FIXME [1.0 alpha] Need to add assocConceptNote field here. DONE -->\r
- <xs:element name="assocConceptNote" type="xs:string"/>\r
- <xs:element name="assocConcepts">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element name="assocConcept" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
- <!-- FIXME Need to move assocConceptNote field here, after conversion. -->\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
-\r
+ <xs:element name="assocActivityGroupList" type="assocActivityGroupList"/>\r
+ <xs:element name="assocConceptGroupList" type="assocConceptGroupList"/>\r
<!-- FIXME rename fields, if not over CSPACE-2501 length limit, -->\r
- <!-- to assocCulturalAffinities, assocCulturalAffinity -->\r
- <!-- FIXME Convert to Associated cultural contexts repeatable group -->\r
- <!-- FIXME [1.0 Alpha] Need to add assocCulturalContextNote field here. DONE -->\r
- <xs:element name="assocCulturalContextNote" type="xs:string"/>\r
- <xs:element name="assocCulturalContexts">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element name="assocCulturalContext" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
- <!-- FIXME Need to move assocCulturalContextNote field here, after conversion. -->\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
-\r
- <!-- FIXME Convert to Associated date repeatable group -->\r
- <!-- FIXME [1.0 alpha] Need to add assocDateNote field here. DONE -->\r
- <xs:element name="assocDateNote" type="xs:string"/>\r
- <xs:element name="assocDate" type="xs:string"/>\r
- <!-- FIXME Need to move assocDateNote field here, after conversion. -->\r
-\r
+ <!-- to assocCulturalAffinity -->\r
+ <xs:element name="assocCulturalContextGroupList" type="assocCulturalContextGroupList"/>\r
+ <xs:element name="assocDateGroupList" type="assocDateGroupList"/>\r
<!-- FIXME Start of Associated event repeatable group -->\r
+ <!-- Note: this group has repeatable sub-fields, and thus will -->\r
+ <!-- not be implemented as part of CSPACE-3229 in Release 1.2 -->\r
<xs:element name="assocEventName" type="xs:string"/>\r
<xs:element name="assocEventNameType" type="xs:string"/>\r
- <!-- FIXME [1.0 alpha] Need to add assocEventNote field here. DONE -->\r
<xs:element name="assocEventNote" type="xs:string"/>\r
<xs:element name="assocEventOrganizations">\r
<xs:complexType>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
- <!-- FIXME End of Associated event repeatable group -->\r
-\r
- <!-- FIXME Start of Associated object repeatable group -->\r
- <xs:element name="assocObject" type="xs:string"/>\r
- <!-- Note: the Cataloging Schema - Limited for Release 1.0 shows -->\r
- <!-- an Associated object note field, but no Associated object -->\r
- <!-- type field. This is currently believed to be a typo, as the -->\r
- <!-- main Cataloging Schema page and the repeatability spreadsheets -->\r
- <!-- all show this as Associated object type. -->\r
- <xs:element name="assocObjectType" type="xs:string"/>\r
-\r
- <!-- FIXME End of Associated object repeatable group -->\r
-\r
- <!-- FIXME Convert to Associated organizations repeatable group -->\r
- <!-- FIXME [1.0 alpha] Need to add assocOrganizationNote field here. DONE -->\r
- <xs:element name="assocOrganizationNote" type="xs:string"/>\r
- <xs:element name="assocOrganizations">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element name="assocOrganization" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
- <!-- FIXME Need to move assocOrganizationNote field here, after conversion. -->\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
-\r
- <!-- FIXME Convert to Associated people repeatable group -->\r
- <!-- FIXME [1.0 alpha] Need to add assocPeopleNote field here. DONE -->\r
- <xs:element name="assocPeopleNote" type="xs:string"/>\r
- <xs:element name="assocPeoples">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element name="assocPeople" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
- <!-- FIXME Need to move assocPeopleNote field here, after conversion. -->\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
-\r
- <!-- FIXME Convert to Associated person repeatable group -->\r
- <!-- FIXME [1.0 alpha] Need to add assocPersonNote field here. DONE -->\r
- <xs:element name="assocPersonNote" type="xs:string"/>\r
- <xs:element name="assocPersons">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element name="assocPerson" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
- <!-- FIXME Need to move assocPersonNote field here, after conversion. -->\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
-\r
- <!-- FIXME Convert to Associated place repeatable group -->\r
- <!-- FIXME [1.0 alpha] Need to add assocPlaceNote field here. DONE -->\r
- <xs:element name="assocPlaceNote" type="xs:string"/>\r
- <xs:element name="assocPlaces">\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element name="assocPlace" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
- <!-- FIXME Need to move assocPlaceNote field here, after conversion. -->\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
-\r
- <!-- FIXME [1.0 alpha] Remove the associationNote field. DONE -->\r
- <!-- FIXME [1.0 alpha] Remove the associationType field. DONE -->\r
+ <xs:element name="assocObjectGroupList" type="assocObjectGroupList"/>\r
+ <xs:element name="assocOrganizationGroupList" type="assocOrganizationGroupList"/>\r
+ <xs:element name="assocPeopleGroupList" type="assocPeopleGroupList"/>\r
+ <xs:element name="assocPersonGroupList" type="assocPersonGroupList"/>\r
+ <xs:element name="assocPlaceGroupList" type="assocPlaceGroupList"/>\r
\r
<!-- Object History and Association Information - History -->\r
- <xs:element name="objectHistoryNote" type="xs:string"/>\r
\r
- <!-- Note: Erin has proposed the creation of a repeatable Ownership group -->\r
- <!-- that may wrap multiple fields below, TBD -->\r
+ <xs:element name="objectHistoryNote" type="xs:string"/>\r
+ <!-- FIXME Start of owner repeatable group -->\r
+ <!-- Note: this group has repeatable sub-fields, and thus will -->\r
+ <!-- not be implemented as part of CSPACE-3229 in Release 1.2 -->\r
<xs:element name="owners">\r
<xs:complexType>\r
<xs:sequence>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
-\r
<xs:element name="ownershipAccess" type="xs:string"/>\r
<xs:element name="ownershipCategory" type="xs:string"/>\r
-\r
<!-- FIXME Make into a repeatable, structured date ("date units of information") -->\r
<!-- field, when structured dates are introduced -->\r
<xs:element name="ownershipDates" type="xs:string"/>\r
-\r
<xs:element name="ownershipExchangeMethod" type="xs:string"/>\r
<xs:element name="ownershipExchangeNote" type="xs:string"/>\r
<xs:element name="ownershipExchangePriceCurrency" type="xs:string"/>\r
<xs:element name="ownershipExchangePriceValue" type="xs:string"/>\r
<xs:element name="ownershipPlace" type="xs:string"/>\r
-\r
- <!-- FIXME Start of Usage repeatable group -->\r
- <xs:element name="usage" type="xs:string"/>\r
- <xs:element name="usageNote" type="xs:string"/>\r
- <!-- FIXME End of Usage repeatable group -->\r
+ <!-- FIXME End of owner repeatable group -->\r
+ <xs:element name="usageGroupList" type="usageGroupList"/>\r
\r
<!-- Object Owner's Contribution Information -->\r
+\r
<xs:element name="ownersPersonalExperience" type="xs:string"/>\r
<xs:element name="ownersPersonalResponse" type="xs:string"/>\r
- <!-- FIXME [1.0 alpha] ownersReference field must be made repeatable. DONE -->\r
<xs:element name="ownersReferences">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element name="ownersContributionNote" type="xs:string"/>\r
\r
<!-- Object Viewers Contribution Information -->\r
+\r
<xs:element name="viewersRole" type="xs:string"/>\r
<xs:element name="viewersPersonalExperience" type="xs:string"/>\r
<xs:element name="viewersPersonalResponse" type="xs:string"/>\r
- <!-- FIXME [1.0 alpha] viewersReference field must be made repeatable. DONE -->\r
<xs:element name="viewersReferences">\r
<xs:complexType>\r
<xs:sequence>\r
\r
<!-- Reference Information -->\r
\r
- <!-- FIXME [1.0 alpha] reference field must be made repeatable. DONE -->\r
<xs:element name="references">\r
<xs:complexType>\r
<xs:sequence>\r
<xs:element name="catalogNumber" type="xs:string"/>\r
\r
<!-- Object Collection Information Group -->\r
+\r
<xs:element name="fieldCollectionDate" type="xs:string"/>\r
<xs:element name="fieldCollectionMethods">\r
<xs:complexType>\r
</xs:sequence>\r
</xs:complexType>\r
</xs:element>\r
- <!-- FIXME [1.0 alpha] Make fieldCollectionEventName a repeatable scalar field. DONE -->\r
<xs:element name="fieldColEventNames">\r
<xs:complexType>\r
<xs:sequence>\r
maxOccurs="unbounded"/>\r
</xs:sequence>\r
</xs:complexType>\r
-\r
<xs:complexType name="otherNumber">\r
<xs:sequence>\r
<xs:element name="numberValue" type="xs:string"/>\r
maxOccurs="unbounded"/>\r
</xs:sequence>\r
</xs:complexType>\r
-\r
<xs:complexType name="objectNameGroup">\r
<xs:sequence>\r
<xs:element name="objectName" type="xs:string"/>\r
</xs:sequence>\r
</xs:complexType>\r
\r
+ <xs:complexType name="titleGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="titleGroup" type="titleGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="titleGroup">\r
+ <xs:sequence>\r
+ <xs:element name="title" type="xs:string"/>\r
+ <xs:element name="titleLanguage" type="xs:string"/>\r
+ <xs:element name="titleTranslation" type="xs:string"/>\r
+ <xs:element name="titleTranslationLanguage" type="xs:string"/>\r
+ <xs:element name="titleType" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="contentEventNameGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="contentEventNameGroup" type="contentEventNameGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="contentEventNameGroup">\r
+ <xs:sequence>\r
+ <xs:element name="contentEventName" type="xs:string"/>\r
+ <xs:element name="contentEventNameType" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="contentObjectGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="contentObjectGroup" type="contentObjectGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="contentObjectGroup">\r
+ <xs:sequence>\r
+ <xs:element name="contentObject" type="xs:string"/>\r
+ <xs:element name="contentObjectType" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="contentOtherGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="contentOtherGroup" type="contentOtherGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="contentOtherGroup">\r
+ <xs:sequence>\r
+ <xs:element name="contentOther" type="xs:string"/>\r
+ <xs:element name="contentOtherType" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
<xs:complexType name="dimensionList">\r
<xs:sequence>\r
<xs:element name="dimensionGroup" type="dimensionGroup" minOccurs="0"\r
maxOccurs="unbounded"/>\r
</xs:sequence>\r
</xs:complexType>\r
-\r
<xs:complexType name="dimensionGroup">\r
<xs:sequence>\r
<xs:element name="dimension" type="xs:string"/>\r
</xs:sequence>\r
</xs:complexType>\r
\r
+ <xs:complexType name="materialGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="materialGroup" type="materialGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="materialGroup">\r
+ <xs:sequence>\r
+ <xs:element name="material" type="xs:string"/>\r
+ <xs:element name="materialComponent" type="xs:string"/>\r
+ <xs:element name="materialComponentNote" type="xs:string"/>\r
+ <xs:element name="materialName" type="xs:string"/>\r
+ <xs:element name="materialSource" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="technicalAttributeGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="technicalAttributeGroup" type="technicalAttributeGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="technicalAttributeGroup">\r
+ <xs:sequence>\r
+ <xs:element name="technicalAttribute" type="xs:string"/>\r
+ <xs:element name="technicalAttributeMeasurement" type="xs:string"/>\r
+ <xs:element name="technicalAttributeMeasurementUnit" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="objectComponentGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="objectComponentGroup" type="objectComponentGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="objectComponentGroup">\r
+ <xs:sequence>\r
+ <xs:element name="objectComponentName" type="xs:string"/>\r
+ <xs:element name="objectComponentInformation" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="objectProductionOrganizationGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="objectProductionOrganizationGroup" type="objectProductionOrganizationGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="objectProductionOrganizationGroup">\r
+ <xs:sequence>\r
+ <xs:element name="objectProductionOrganization" type="xs:string"/>\r
+ <xs:element name="objectProductionOrganizationRole" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="objectProductionPeopleGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="objectProductionPeopleGroup" type="objectProductionPeopleGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="objectProductionPeopleGroup">\r
+ <xs:sequence>\r
+ <xs:element name="objectProductionPeople" type="xs:string"/>\r
+ <xs:element name="objectProductionPeopleRole" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="objectProductionPersonGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="objectProductionPersonGroup" type="objectProductionPersonGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="objectProductionPersonGroup">\r
+ <xs:sequence>\r
+ <xs:element name="objectProductionPerson" type="xs:string"/>\r
+ <xs:element name="objectProductionPersonRole" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="objectProductionPlaceGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="objectProductionPlaceGroup" type="objectProductionPlaceGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="objectProductionPlaceGroup">\r
+ <xs:sequence>\r
+ <xs:element name="objectProductionPlace" type="xs:string"/>\r
+ <xs:element name="objectProductionPlaceRole" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="techniqueGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="techniqueGroup" type="techniqueGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="techniqueGroup">\r
+ <xs:sequence>\r
+ <xs:element name="technique" type="xs:string"/>\r
+ <xs:element name="techniqueType" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="assocActivityGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="assocActivityGroup" type="assocActivityGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="assocActivityGroup">\r
+ <xs:sequence>\r
+ <xs:element name="assocActivity" type="xs:string"/>\r
+ <xs:element name="assocActivityType" type="xs:string"/>\r
+ <xs:element name="assocActivityNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="assocConceptGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="assocConceptGroup" type="assocConceptGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="assocConceptGroup">\r
+ <xs:sequence>\r
+ <xs:element name="assocConcept" type="xs:string"/>\r
+ <xs:element name="assocConceptType" type="xs:string"/>\r
+ <xs:element name="assocConceptNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <!-- FIXME rename fields, if not over CSPACE-2501 length limit, -->\r
+ <!-- to assocCulturalAffinity -->\r
+ <xs:complexType name="assocCulturalContextGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="assocCulturalContextGroup" type="assocCulturalContextGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <!-- FIXME rename fields, if not over CSPACE-2501 length limit, -->\r
+ <!-- to assocCulturalAffinity -->\r
+ <xs:complexType name="assocCulturalContextGroup">\r
+ <xs:sequence>\r
+ <xs:element name="assocCulturalContext" type="xs:string"/>\r
+ <xs:element name="assocCulturalContextType" type="xs:string"/>\r
+ <xs:element name="assocCulturalContextNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="assocDateGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="assocDateGroup" type="assocDateGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="assocDateGroup">\r
+ <xs:sequence>\r
+ <xs:element name="assocDate" type="xs:string"/>\r
+ <xs:element name="assocDateType" type="xs:string"/>\r
+ <xs:element name="assocDateNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="assocObjectGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="assocObjectGroup" type="assocObjectGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="assocObjectGroup">\r
+ <xs:sequence>\r
+ <xs:element name="assocObject" type="xs:string"/>\r
+ <xs:element name="assocObjectType" type="xs:string"/>\r
+ <xs:element name="assocObjectNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="assocOrganizationGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="assocOrganizationGroup" type="assocOrganizationGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="assocOrganizationGroup">\r
+ <xs:sequence>\r
+ <xs:element name="assocOrganization" type="xs:string"/>\r
+ <xs:element name="assocOrganizationType" type="xs:string"/>\r
+ <xs:element name="assocOrganizationNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="assocPeopleGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="assocPeopleGroup" type="assocPeopleGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="assocPeopleGroup">\r
+ <xs:sequence>\r
+ <xs:element name="assocPeople" type="xs:string"/>\r
+ <xs:element name="assocPeopleType" type="xs:string"/>\r
+ <xs:element name="assocPeopleNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="assocPersonGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="assocPersonGroup" type="assocPersonGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="assocPersonGroup">\r
+ <xs:sequence>\r
+ <xs:element name="assocPerson" type="xs:string"/>\r
+ <xs:element name="assocPersonType" type="xs:string"/>\r
+ <xs:element name="assocPersonNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="assocPlaceGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="assocPlaceGroup" type="assocPlaceGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="assocPlaceGroup">\r
+ <xs:sequence>\r
+ <xs:element name="assocPlace" type="xs:string"/>\r
+ <xs:element name="assocPlaceType" type="xs:string"/>\r
+ <xs:element name="assocPlaceNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="usageGroupList">\r
+ <xs:sequence>\r
+ <xs:element name="usageGroup" type="usageGroup" minOccurs="0"\r
+ maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ <xs:complexType name="usageGroup">\r
+ <xs:sequence>\r
+ <xs:element name="usage" type="xs:string"/>\r
+ <xs:element name="usageNote" type="xs:string"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ \r
<!-- Object Description Date Information -->\r
<!-- This appears to be a placeholder structured date -->\r
<xs:element name="dateAssociation" type="xs:string"/>\r
import org.collectionspace.services.common.authorityref.AuthorityRefList;
import org.collectionspace.services.collectionobject.AssocEventOrganizationList;
import org.collectionspace.services.collectionobject.AssocEventPersonList;
-import org.collectionspace.services.collectionobject.AssocOrganizationList;
-import org.collectionspace.services.collectionobject.AssocPersonList;
import org.collectionspace.services.collectionobject.CollectionobjectsCommon;
import org.collectionspace.services.collectionobject.ContentOrganizationList;
import org.collectionspace.services.collectionobject.ContentPersonList;
+import org.collectionspace.services.collectionobject.OwnerList;
import org.collectionspace.services.collectionobject.FieldCollectionSourceList;
import org.collectionspace.services.collectionobject.FieldCollectorList;
-import org.collectionspace.services.collectionobject.OwnerList;
+import org.collectionspace.services.collectionobject.TitleGroup;
+import org.collectionspace.services.collectionobject.TitleGroupList;
import org.collectionspace.services.jaxb.AbstractCommonList;
import org.jboss.resteasy.client.ClientResponse;
private String contentOrganizationRefName = null;
private String contentPersonRefName = null;
- private String contentInscriberRefName = null;
- private String descriptionInscriberRefName = null;
- private String objectProductionPersonRefName = null;
- private String objectProductionOrganizationRefName = null;
private String assocEventOrganizationRefName = null;
private String assocEventPersonRefName = null;
- private String assocOrganizationRefName = null;
- private String assocPersonRefName = null;
private String ownerRefName = null;
private String fieldCollectionSourceRefName = null;
private String fieldCollectorRefName = null;
+ "\r\n"
+ "\r\n contentOrganizationRefName: "+contentOrganizationRefName
+ "\r\n contentPersonRefName: "+contentPersonRefName
- + "\r\n contentInscriberRefName: "+contentInscriberRefName
- + "\r\n descriptionInscriberRefName: "+descriptionInscriberRefName
- + "\r\n objectProductionPersonRefName: "+objectProductionPersonRefName
- + "\r\n objectProductionOrganizationRefName: "+objectProductionOrganizationRefName
+ "\r\n assocEventOrganizationRefName: "+assocEventOrganizationRefName
+ "\r\n assocEventPersonRefName: "+assocEventPersonRefName
- + "\r\n assocOrganizationRefName: "+assocOrganizationRefName
- + "\r\n assocPersonRefName: "+assocPersonRefName
+ "\r\n ownerRefName: "+ownerRefName
+ "\r\n fieldCollectionSourceRefName: "+fieldCollectionSourceRefName
+ "\r\n fieldCollectorRefName: "+fieldCollectorRefName;
}
/** The number of authority references expected. */
- private final int NUM_AUTH_REFS_EXPECTED = 13;
+ private final int NUM_AUTH_REFS_EXPECTED = 7;
/* (non-Javadoc)
* @see org.collectionspace.services.client.test.BaseServiceTest#getClientInstance()
"ObjNum" + "-" + identifier,
contentOrganizationRefName,
contentPersonRefName,
- contentInscriberRefName,
- descriptionInscriberRefName,
- objectProductionPersonRefName,
- objectProductionOrganizationRefName,
assocEventOrganizationRefName,
assocEventPersonRefName,
- assocOrganizationRefName,
- assocPersonRefName,
ownerRefName,
fieldCollectionSourceRefName,
fieldCollectorRefName
contentPersonRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
personIdsCreated.add(csid);
- csid = createPerson("Ingrid", "ContentInscriber", "ingridContentInscriber");
- contentInscriberRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
- personIdsCreated.add(csid);
-
- csid = createPerson("Pacifico", "ProductionPerson", "pacificoProductionPerson");
- objectProductionPersonRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
- personIdsCreated.add(csid);
-
- csid = createPerson("Dessie", "DescriptionInscriber", "dessieDescriptionInscriber");
- descriptionInscriberRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
- personIdsCreated.add(csid);
+// csid = createPerson("Ingrid", "ContentInscriber", "ingridContentInscriber");
+// contentInscriberRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
+// personIdsCreated.add(csid);
+//
+// csid = createPerson("Pacifico", "ProductionPerson", "pacificoProductionPerson");
+// objectProductionPersonRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
+// personIdsCreated.add(csid);
+//
+// csid = createPerson("Dessie", "DescriptionInscriber", "dessieDescriptionInscriber");
+// descriptionInscriberRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
+// personIdsCreated.add(csid);
csid = createPerson("Asok", "AssociatedEventPerson", "asokAssociatedEventPerson");
assocEventPersonRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
personIdsCreated.add(csid);
- csid = createPerson("Andrew", "AssociatedPerson", "andrewAssociatedPerson");
- assocPersonRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
- personIdsCreated.add(csid);
+// csid = createPerson("Andrew", "AssociatedPerson", "andrewAssociatedPerson");
+// assocPersonRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
+// personIdsCreated.add(csid);
csid = createPerson("Owen", "Owner", "owenOwner");
ownerRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null);
contentOrganizationRefName = OrgAuthorityClientUtils.getOrgRefName(orgAuthCSID, csid, null);
orgIdsCreated.add(csid);
- csid = createOrganization("Production Org", "Production Org Town", "productionOrg");
- objectProductionOrganizationRefName = OrgAuthorityClientUtils.getOrgRefName(orgAuthCSID, csid, null);
- orgIdsCreated.add(csid);
+// csid = createOrganization("Production Org", "Production Org Town", "productionOrg");
+// objectProductionOrganizationRefName = OrgAuthorityClientUtils.getOrgRefName(orgAuthCSID, csid, null);
+// orgIdsCreated.add(csid);
csid = createOrganization("Associated Event Org", "Associated Event Org City", "associatedEventOrg");
assocEventOrganizationRefName = OrgAuthorityClientUtils.getOrgRefName(orgAuthCSID, csid, null);
orgIdsCreated.add(csid);
- csid = createOrganization("Associated Org", "Associated Org City", "associatedOrg");
- assocOrganizationRefName = OrgAuthorityClientUtils.getOrgRefName(orgAuthCSID, csid, null);
- orgIdsCreated.add(csid);
+// csid = createOrganization("Associated Org", "Associated Org City", "associatedOrg");
+// assocOrganizationRefName = OrgAuthorityClientUtils.getOrgRefName(orgAuthCSID, csid, null);
+// orgIdsCreated.add(csid);
}
"Expected " + NUM_AUTH_REFS_EXPECTED + ", found " + numAuthRefsFound);
// Check a sample of one or more person authority ref fields
- Assert.assertEquals(collectionObject.getInscriptionContentInscriber(), contentInscriberRefName);
- Assert.assertEquals(collectionObject.getAssocPersons().getAssocPerson().get(0), assocPersonRefName);
+ // Assert.assertEquals(collectionObject.getInscriptionContentInscriber(), contentInscriberRefName);
+ // Assert.assertEquals(collectionObject.getAssocPersons().getAssocPerson().get(0), assocPersonRefName);
Assert.assertEquals(collectionObject.getOwners().getOwner().get(0), ownerRefName);
Assert.assertEquals(collectionObject.getFieldCollectionSources().getFieldCollectionSource().get(0), fieldCollectionSourceRefName);
String objNum,
String contentOrganization,
String contentPerson,
- String contentInscriber,
- String descriptionInscriber,
- String objectProductionPerson,
- String objectProductionOrganization,
String assocEventOrganization,
String assocEventPerson,
- String assocOrganization,
- String assocPerson,
String owner,
String fieldCollectionSource,
String fieldCollector ) {
CollectionobjectsCommon collectionObject = new CollectionobjectsCommon();
- collectionObject.setTitle(title);
+ TitleGroupList titleGroupList = new TitleGroupList();
+ List<TitleGroup> titleGroups = titleGroupList.getTitleGroup();
+ TitleGroup titleGroup = new TitleGroup();
+ titleGroup.setTitle("a title");
+ titleGroups.add(titleGroup);
+ collectionObject.setTitleGroupList(titleGroupList);
collectionObject.setObjectNumber(objNum);
- collectionObject.setInscriptionContentInscriber(contentInscriber);
- collectionObject.setInscriptionDescriptionInscriber(descriptionInscriber);
- collectionObject.setObjectProductionPerson(objectProductionPerson);
- collectionObject.setObjectProductionOrganization(objectProductionOrganization);
ContentOrganizationList contentOrganizationList = new ContentOrganizationList();
List<String> contentOrganizations = contentOrganizationList.getContentOrganization();
assocEventPersons.add(assocEventPerson);
collectionObject.setAssocEventPersons(assocEventPersonList);
- AssocOrganizationList assocOrganizationList = new AssocOrganizationList();
- List<String> assocOrganizations = assocOrganizationList.getAssocOrganization();
- assocOrganizations.add(assocOrganization);
- collectionObject.setAssocOrganizations(assocOrganizationList);
-
- AssocPersonList assocPersonList = new AssocPersonList();
- List<String> assocPersons = assocPersonList.getAssocPerson();
- assocPersons.add(assocPerson);
- collectionObject.setAssocPersons(assocPersonList);
+// AssocOrganizationList assocOrganizationList = new AssocOrganizationList();
+// List<String> assocOrganizations = assocOrganizationList.getAssocOrganization();
+// assocOrganizations.add(assocOrganization);
+// collectionObject.setAssocOrganizations(assocOrganizationList);
+//
+// AssocPersonList assocPersonList = new AssocPersonList();
+// List<String> assocPersons = assocPersonList.getAssocPerson();
+// assocPersons.add(assocPerson);
+// collectionObject.setAssocPersons(assocPersonList);
OwnerList ownerList = new OwnerList();
List<String> owners = ownerList.getOwner();
CollectionobjectsCommon collectionObject = new CollectionobjectsCommon();
collectionObject.setObjectNumber(createIdentifier());
if (keywordsInSameField) {
- collectionObject.setTitle(listToString(keywords, KEYWORD_SEPARATOR));
+ collectionObject.setDistinguishingFeatures(listToString(keywords, KEYWORD_SEPARATOR));
} else {
if (keywords.size() == 1) {
- collectionObject.setTitle(keywords.get(0));
+ collectionObject.setDistinguishingFeatures(keywords.get(0));
} else if (keywords.size() == 2) {
- collectionObject.setTitle(keywords.get(0));
- collectionObject.setDistinguishingFeatures(keywords.get(1));
+ collectionObject.setDistinguishingFeatures(keywords.get(0));
+ collectionObject.setPhysicalDescription(keywords.get(1));
} else {
Assert.fail("List of keywords must have exactly one or two members.");
}
import org.collectionspace.services.collectionobject.ObjectNameList;
import org.collectionspace.services.collectionobject.OtherNumber;
import org.collectionspace.services.collectionobject.OtherNumberList;
+import org.collectionspace.services.collectionobject.TitleGroup;
+import org.collectionspace.services.collectionobject.TitleGroupList;
import org.collectionspace.services.jaxb.AbstractCommonList;
logger.debug("Attempting to retrieve just-created record ...");
}
CollectionobjectsCommon collectionObject = readCollectionObjectCommonPart(newId);
- String title = collectionObject.getTitle();
+ String title = collectionObject.getTitle(); // will need to be changed for multi-valued title
if (logger.isDebugEnabled()) {
logger.debug("Sent title: " + UTF8_TITLE);
logger.debug("Received title: " + title);
// a non-empty value is required, as enforced by the service's
// validation routine(s).
CollectionobjectsCommon collectionObject = new CollectionobjectsCommon();
- collectionObject.setTitle("a title");
+
+ TitleGroupList titleGroupList = new TitleGroupList();
+ List<TitleGroup> titleGroups = titleGroupList.getTitleGroup();
+ TitleGroup titleGroup = new TitleGroup();
+ titleGroup.setTitle("a title");
+ titleGroups.add(titleGroup);
+ collectionObject.setTitleGroupList(titleGroupList);
ObjectNameList objNameList = new ObjectNameList();
List<ObjectNameGroup> objNameGroups = objNameList.getObjectNameGroup();
// FIXME: Consider splitting off the following into its own test method.
// Build a payload with invalid content, by setting a value to the
- // empty String, in a field that requires a non-empty value,
- // as enforced by the service's validation routine(s).
+ // empty String, in a field (objectNumber) that requires a non-empty
+ // value, as enforced by the service's validation routine(s).
collectionObject = new CollectionobjectsCommon();
collectionObject.setObjectNumber("");
- collectionObject.setTitle("a title");
+ collectionObject.setDistinguishingFeatures("Distinguishing features.");
+
objNameList = new ObjectNameList();
objNameGroups = objNameList.getObjectNameGroup();
objectNameGroup = new ObjectNameGroup();
collectionObject.setRemNumber(remNumber);
// Scalar fields
- collectionObject.setTitle("atitle");
collectionObject.setObjectNumber(objectNumber);
collectionObject.setAge(""); //test for null string
// Repeatable structured groups
+ TitleGroupList titleGroupList = new TitleGroupList();
+ List<TitleGroup> titleGroups = titleGroupList.getTitleGroup();
+ TitleGroup titleGroup = new TitleGroup();
+ titleGroup.setTitle("a title");
+ titleGroups.add(titleGroup);
+ collectionObject.setTitleGroupList(titleGroupList);
+
ObjectNameList objNameList = new ObjectNameList();
List<ObjectNameGroup> objNameGroups = objNameList.getObjectNameGroup();
ObjectNameGroup objectNameGroup = new ObjectNameGroup();
xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd">
<objectNumber>2</objectNumber>
<comments>description</comments>
- <title></title>
<briefDescriptions>
<!-- First value instance of this repeatable field is blank -->
<briefDescription></briefDescription>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd">
<objectNumber>2</objectNumber>
- <comments>description</comments>
- <title></title>
+ <distinguishingFeatures>distFeatures</distinguishingFeatures>
<briefDescriptions>
<!-- First value instance of this repeatable field is non-blank -->
<briefDescription>data</briefDescription>
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Document : cspace-2242-first-value-instance-blank.xml
+ Document : cspace-2779-utf-8-create.xml
Created on :
Author :
- Description: Test data for http://issues.collectionspace.org/browse/CSPACE-2242
+ Description: Test data for http://issues.collectionspace.org/browse/CSPACE-2779
-->
<ns2:collectionobjects_common
xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd">
<objectNumber>2</objectNumber>
<comments>Katowice Spodek Live '94 by the band Perfect</comments>
- <title>Audiorecording album cover signed by Lech Wałęsa</title>
+ <distinguishingFeatures>Audiorecording album cover signed by Lech Wałęsa</distinguishingFeatures>
</ns2:collectionobjects_common>
<numberOfObjects>numberOfObjects</numberOfObjects>
<!-- test whitespace as first child node -->
<responsibleDepartments> <responsibleDepartment> responsibleDept1</responsibleDepartment><responsibleDepartment>responsibleDept2</responsibleDepartment></responsibleDepartments>
-<title>title</title>
</ns2:collectionobjects_common>
<responsibleDepartment>responsibleDept1</responsibleDepartment>
<responsibleDepartment>responsibleDept2</responsibleDepartment>
</responsibleDepartments>
-
-<title>title</title>
</ns2:collectionobjects_common>
<responsibleDepartment> responsibleDept1</responsibleDepartment>
<responsibleDepartment>responsibleDept2</responsibleDepartment>
</responsibleDepartments>
-
-<title>title</title>
</ns2:collectionobjects_common>
<responsibleDepartment>responsibleDept1</responsibleDepartment>
<responsibleDepartment>responsibleDept2</responsibleDepartment>
</responsibleDepartments>
-
-<title>title</title>
</ns2:collectionobjects_common>
<ns2:collectionobjects_common xmlns:ns2="http://collectionspace.org/services/collectionobject">
<objectNumber>objectNumber</objectNumber>
- <otherNumber>XXX</otherNumber>
- <otherNumberType>otherNumberType</otherNumberType>
- <!-- briefDescription>briefDescription</briefDescription -->
- <comments>comments</comments>
<distinguishingFeatures>distFeatures</distinguishingFeatures>
<numberOfObjects>numberOfObjects</numberOfObjects>
- <responsibleDepartments>
- <!--
- <responsibleDepartment xtmplpoint="responsibleDept"/>
- -->
- </responsibleDepartments>
- <title>title</title>
- <objectTitleLanguage>objectTitleLanguage</objectTitleLanguage>
- <titleTranslation>titleTranslation</titleTranslation>
- <titleType>titleType</titleType>
- <age>age</age>
- <ageQualifier>ageQualifier</ageQualifier>
- <ageUnit>ageUnit</ageUnit>
- <color>color</color>
- <contentActivity>contentActivity</contentActivity>
- <contentConcept>contentConcept</contentConcept>
- <contentDate>XXX</contentDate>
- <contentDescription>contentDescription</contentDescription>
- <contentEventName>contentEventName</contentEventName>
- <contentEventNameType>contentEventNameType</contentEventNameType>
- <contentNote>contentNote</contentNote>
- <contentLanguage>contentLanguage</contentLanguage>
- <contentObject>contentObject</contentObject>
- <contentObjectType>contentObjectType</contentObjectType>
- <contentOrganization>contentOrganization</contentOrganization>
- <contentOther>contentOther</contentOther>
- <contentOtherType>contentOtherType</contentOtherType>
- <contentPeople>contentPeople</contentPeople>
- <contentPerson>contentPerson</contentPerson>
- <contentPlace>contentPlace</contentPlace>
- <contentPosition>contentPosition</contentPosition>
- <contentScript>XXX</contentScript>
- <copyNumber>copyNumber</copyNumber>
- <editionNumber>editionNumber</editionNumber>
- <form>form</form>
- <inscriptionContent>inscriptionContent</inscriptionContent>
-<inscriptionContentInscriber>inscriptionContentInscriber</inscriptionContentInscriber>
-<inscriptionContentDate>inscriptionContentDate</inscriptionContentDate>
-<inscriptionContentInterpretation>inscriptionContentInterpretation</inscriptionContentInterpretation>
-<inscriptionContentLanguage>inscriptionContentLanguage</inscriptionContentLanguage>
-<inscriptionContentMethod>inscriptionContentMethod</inscriptionContentMethod>
-<inscriptionContentPosition>inscriptionContentPosition</inscriptionContentPosition>
-<inscriptionContentScript>inscriptionContentScript</inscriptionContentScript>
-<inscriptionContentTranslation>inscriptionContentTranslation</inscriptionContentTranslation>
-<inscriptionContentTransliteration>inscriptionContentTransliteration</inscriptionContentTransliteration>
-<inscriptionContentType>inscriptionContentType</inscriptionContentType> <inscriptionDescription>inscriptionDescription</inscriptionDescription>
-
-<inscriptionDescriptionInscriber>inscriptionDescriptionInscriber</inscriptionDescriptionInscriber>
-
-<inscriptionDescriptionDate>inscriptionDescriptionDate</inscriptionDescriptionDate>
-
-<inscriptionDescriptionInterpretation>inscriptionDescriptionInterpretation</inscriptionDescriptionInterpretation>
-
-<inscriptionDescriptionMethod>inscriptionDescriptionMethod</inscriptionDescriptionMethod>
-
-<inscriptionDescriptionPosition>inscriptionDescriptionPosition</inscriptionDescriptionPosition>
-
-<inscriptionDescriptionType>inscriptionDescriptionType</inscriptionDescriptionType>
- <material>material</material>
- <materialComponent>materialComponent</materialComponent>
- <materialComponentNote>materialComponentNote</materialComponentNote>
- <materialName>materialName</materialName>
- <materialSource>materialSource</materialSource>
- <objectStatus>objectStatus</objectStatus>
- <phase>phase</phase>
- <physicalDescription>physicalDescription</physicalDescription>
- <sex>sex</sex>
- <style>style</style>
- <technicalAttribute>technicalAttribute</technicalAttribute>
-
-<technicalAttributeMeasurement>technicalAttributeMeasurement</technicalAttributeMeasurement>
-
-<technicalAttributeMeasurementUnit>technicalAttributeMeasurementUnit</technicalAttributeMeasurementUnit>
- <objectComponentName>objectComponentName</objectComponentName>
-
-<objectComponentInformation>objectComponentInformation</objectComponentInformation>
- <dateAssociation>dateAssociation</dateAssociation>
-
-<dateEarliestSingle>{"level":"objectLevel","content-script":"descContentScript","content-method":"descContentMethod","otherNumber":"otherNumber"}</dateEarliestSingle>
- <!-- XXX -->
-
-<dateEarliestSingleCertainty>dateEarliestSingleCertainty</dateEarliestSingleCertainty>
-
-<dateEarliestSingleQualifier>dateEarlierstSingleQualifier</dateEarliestSingleQualifier>
- <dateLatest>XXX</dateLatest>
- <dateLatestCertainty>dateLatestCertainty</dateLatestCertainty>
- <dateLatestQualifier>dateLatestQualifier</dateLatestQualifier>
- <datePeriod>datePeriod</datePeriod>
- <dateText>dateText</dateText>
</ns2:collectionobjects_common>
final static String OBJECT_NUMBER = "objectNumber";\r
final static String OBJECT_NAME_LIST = "objectNameList";\r
final static String OBJECT_NAME = "objectName";\r
+ final static String TITLE_GROUP_LIST = "titleGroupList";\r
final static String TITLE = "title";\r
final static String RESPONSIBLE_DEPARTMENTS = "responsibleDepartments";\r
final static String CSID = "csid";\r
<xs:element name="objectNameList" type="ns:objectNameList"/>
<xs:element name="responsibleDepartments" type="responsibleDepartmentList"/>
<xs:element name="collection" type="xs:string"/>
- <xs:element name="title" type="xs:string"/>
- <xs:element name="titleLanguage" type="xs:string"/>
- <xs:element name="titleTranslation" type="xs:string"/>
- <xs:element name="titleTranslationLanguage" type="xs:string"/>
- <xs:element name="titleType" type="xs:string"/>
+ <xs:element name="titleGroupList" type="titleGroupList"/>
<xs:element name="recordStatus" type="xs:string"/>
<!-- Object Description Information -->
<xs:element name="contentConcepts" type="contentConceptList"/>
<xs:element name="contentDate" type="xs:string"/>
<xs:element name="contentDescription" type="xs:string"/>
- <xs:element name="contentEventName" type="xs:string"/>
- <xs:element name="contentEventNameType" type="xs:string"/>
+ <xs:element name="contentEventNameGroupList" type="contentEventNameGroupList"/>
<xs:element name="contentNote" type="xs:string"/>
<xs:element name="contentLanguages" type="contentLanguageList"/>
- <xs:element name="contentObject" type="xs:string"/>
- <xs:element name="contentObjectType" type="xs:string"/>
+ <xs:element name="contentObjectGroupList" type="contentObjectGroupList"/>
<xs:element name="contentOrganizations" type="contentOrganizationList"/>
- <xs:element name="contentOther" type="xs:string"/>
- <xs:element name="contentOtherType" type="xs:string"/>
+ <xs:element name="contentOtherGroupList" type="contentOtherGroupList"/>
<xs:element name="contentPeoples" type="contentPeopleList"/>
<xs:element name="contentPersons" type="contentPersonList"/>
<xs:element name="contentPlaces" type="contentPlaceList"/>
<xs:element name="forms" type="formList"/>
<!-- Object description Inscription - Content Information -->
+
+ <!-- FIXME Consider whether changes to field names below are required -->
+ <!-- in response to the renaming of this group to Textual inscription -->
<xs:element name="inscriptionContent" type="xs:string"/>
<xs:element name="inscriptionContentInscriber" type="xs:string"/>
<xs:element name="inscriptionContentDate" type="xs:string"/>
<xs:element name="inscriptionContentType" type="xs:string"/>
<!-- Object Description Inscription - Description Information -->
+
+ <!-- FIXME Consider whether changes to field names below are required -->
+ <!-- in response to the renaming of this group to Non-textual inscription -->
<xs:element name="inscriptionDescription" type="xs:string"/>
<xs:element name="inscriptionDescriptionInscriber" type="xs:string"/>
<xs:element name="inscriptionDescriptionDate" type="xs:string"/>
<xs:element name="inscriptionDescriptionType" type="xs:string"/>
<!-- Object Description Material Information -->
- <xs:element name="material" type="xs:string"/>
- <xs:element name="materialComponent" type="xs:string"/>
- <xs:element name="materialComponentNote" type="xs:string"/>
- <xs:element name="materialName" type="xs:string"/>
- <xs:element name="materialSource" type="xs:string"/>
+ <xs:element name="materialGroupList" type="materialGroupList"/>
<!-- Misc Object Description Information -->
<xs:element name="objectStatus" type="xs:string"/>
<xs:element name="physicalDescription" type="xs:string"/>
<xs:element name="sex" type="xs:string"/>
<xs:element name="styles" type="styleList"/>
- <xs:element name="technicalAttribute" type="xs:string"/>
- <xs:element name="technicalAttributeMeasurement" type="xs:string"/>
- <xs:element name="technicalAttributeMeasurementUnit" type="xs:string"/>
- <xs:element name="objectComponentName" type="xs:string"/>
- <xs:element name="objectComponentInformation" type="xs:string"/>
+ <xs:element name="technicalAttributeGroupList" type="technicalAttributeGroupList"/>
+ <xs:element name="objectComponentGroupList" type="objectComponentGroupList"/>
<!-- Object Production Information -->
<xs:element name="objectProductionDates" type="objectProductionDateList"/>
<xs:element name="objectProductionNote" type="xs:string"/>
- <xs:element name="objectProductionOrganization" type="xs:string"/>
- <xs:element name="objectProductionOrganizationRole" type="xs:string"/>
- <xs:element name="objectProductionPeople" type="xs:string"/>
- <xs:element name="objectProductionPeopleRole" type="xs:string"/>
- <xs:element name="objectProductionPerson" type="xs:string"/>
- <xs:element name="objectProductionPersonRole" type="xs:string"/>
- <xs:element name="objectProductionPlace" type="xs:string"/>
- <xs:element name="objectProductionPlaceRole" type="xs:string"/>
+ <xs:element name="objectProductionOrganizationGroupList" type="objectProductionOrganizationGroupList"/>
+ <xs:element name="objectProductionPeopleGroupList" type="objectProductionPeopleGroupList"/>
+ <xs:element name="objectProductionPersonGroupList" type="objectProductionPersonGroupList"/>
+ <xs:element name="objectProductionPlaceGroupList" type="objectProductionPlaceGroupList"/>
<xs:element name="objectProductionReasons" type="objectProductionReasonList"/>
- <xs:element name="technique" type="xs:string"/>
- <xs:element name="techniqueType" type="xs:string"/>
+ <xs:element name="techniqueGroupList" type="techniqueGroupList"/>
<!-- Object History and Association Information - Association -->
<!-- In the following field names, "assoc" is an abbreviation for "associated". -->
<!-- See the comments to CSPACE-2501 for a discussion of the database identifier -->
<!-- length limit that made this abbreviation necessary. -->
- <xs:element name="assocActivity" type="xs:string"/>
- <xs:element name="assocActivityNote" type="xs:string"/>
- <xs:element name="assocConceptNote" type="xs:string"/>
- <xs:element name="assocConcepts" type="assocConceptList"/>
- <xs:element name="assocCulturalContextNote" type="xs:string"/>
- <xs:element name="assocCulturalContexts" type="assocCulturalContextList"/>
- <xs:element name="assocDateNote" type="xs:string"/>
- <xs:element name="assocDate" type="xs:string"/>
+ <xs:element name="assocActivityGroupList" type="assocActivityGroupList"/>
+ <xs:element name="assocConceptGroupList" type="assocConceptGroupList"/>
+ <!-- FIXME rename fields, if not over CSPACE-2501 length limit, -->
+ <!-- to assocCulturalAffinity -->
+ <xs:element name="assocCulturalContextGroupList" type="assocCulturalContextGroupList"/>
+ <xs:element name="assocDateGroupList" type="assocDateGroupList"/>
<xs:element name="assocEventName" type="xs:string"/>
<xs:element name="assocEventNameType" type="xs:string"/>
<xs:element name="assocEventNote" type="xs:string"/>
<xs:element name="assocEventPeoples" type="assocEventPeopleList"/>
<xs:element name="assocEventPersons" type="assocEventPersonList"/>
<xs:element name="assocEventPlaces" type="assocEventPlaceList"/>
- <xs:element name="assocObject" type="xs:string"/>
- <xs:element name="assocObjectType" type="xs:string"/>
- <xs:element name="assocOrganizationNote" type="xs:string"/>
- <xs:element name="assocOrganizations" type="assocOrganizationList"/>
- <xs:element name="assocPeopleNote" type="xs:string"/>
- <xs:element name="assocPeoples" type="assocPeopleList"/>
- <xs:element name="assocPersonNote" type="xs:string"/>
- <xs:element name="assocPersons" type="assocPersonList"/>
- <xs:element name="assocPlaceNote" type="xs:string"/>
- <xs:element name="assocPlaces" type="assocPlaceList"/>
+ <xs:element name="assocObjectGroupList" type="assocObjectGroupList"/>
+ <xs:element name="assocOrganizationGroupList" type="assocOrganizationGroupList"/>
+ <xs:element name="assocPeopleGroupList" type="assocPeopleGroupList"/>
+ <xs:element name="assocPersonGroupList" type="assocPersonGroupList"/>
+ <xs:element name="assocPlaceGroupList" type="assocPlaceGroupList"/>
<!-- Object History and Association Information - History -->
<xs:element name="objectHistoryNote" type="xs:string"/>
<xs:element name="ownershipExchangePriceCurrency" type="xs:string"/>
<xs:element name="ownershipExchangePriceValue" type="xs:string"/>
<xs:element name="ownershipPlace" type="xs:string"/>
- <xs:element name="usage" type="xs:string"/>
- <xs:element name="usageNote" type="xs:string"/>
+ <xs:element name="usageGroupList" type="usageGroupList"/>
<!-- Object Owner's Contribution Information -->
<xs:element name="ownersPersonalExperience" type="xs:string"/>
<xs:element name="otherNumber" type="otherNumber" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
-
<xs:complexType name="otherNumber">
<xs:sequence>
<xs:element name="numberValue" type="xs:string"/>
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
-
<xs:complexType name="objectNameGroup">
<xs:sequence>
<xs:element name="objectName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
+ <xs:complexType name="titleGroupList">
+ <xs:sequence>
+ <xs:element name="titleGroup" type="titleGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="titleGroup">
+ <xs:sequence>
+ <xs:element name="title" type="xs:string"/>
+ <xs:element name="titleLanguage" type="xs:string"/>
+ <xs:element name="titleTranslation" type="xs:string"/>
+ <xs:element name="titleTranslationLanguage" type="xs:string"/>
+ <xs:element name="titleType" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="contentEventNameGroupList">
+ <xs:sequence>
+ <xs:element name="contentEventNameGroup" type="contentEventNameGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="contentEventNameGroup">
+ <xs:sequence>
+ <xs:element name="contentEventName" type="xs:string"/>
+ <xs:element name="contentEventNameType" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="contentObjectGroupList">
+ <xs:sequence>
+ <xs:element name="contentObjectGroup" type="contentObjectGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="contentObjectGroup">
+ <xs:sequence>
+ <xs:element name="contentObject" type="xs:string"/>
+ <xs:element name="contentObjectType" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="contentOtherGroupList">
+ <xs:sequence>
+ <xs:element name="contentOtherGroup" type="contentOtherGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="contentOtherGroup">
+ <xs:sequence>
+ <xs:element name="contentOther" type="xs:string"/>
+ <xs:element name="contentOtherType" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
<xs:complexType name="responsibleDepartmentList">
<xs:sequence>
<xs:element name="responsibleDepartment" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
-
<xs:complexType name="dimensionGroup">
<xs:sequence>
<xs:element name="dimension" type="xs:string"/>
</xs:sequence>
</xs:complexType>
+ <xs:complexType name="materialGroupList">
+ <xs:sequence>
+ <xs:element name="materialGroup" type="materialGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="materialGroup">
+ <xs:sequence>
+ <xs:element name="material" type="xs:string"/>
+ <xs:element name="materialComponent" type="xs:string"/>
+ <xs:element name="materialComponentNote" type="xs:string"/>
+ <xs:element name="materialName" type="xs:string"/>
+ <xs:element name="materialSource" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
<xs:complexType name="styleList">
<xs:sequence>
<xs:element name="style" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
+ <xs:complexType name="technicalAttributeGroupList">
+ <xs:sequence>
+ <xs:element name="technicalAttributeGroup" type="technicalAttributeGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="technicalAttributeGroup">
+ <xs:sequence>
+ <xs:element name="technicalAttribute" type="xs:string"/>
+ <xs:element name="technicalAttributeMeasurement" type="xs:string"/>
+ <xs:element name="technicalAttributeMeasurementUnit" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="objectComponentGroupList">
+ <xs:sequence>
+ <xs:element name="objectComponentGroup" type="objectComponentGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="objectComponentGroup">
+ <xs:sequence>
+ <xs:element name="objectComponentName" type="xs:string"/>
+ <xs:element name="objectComponentInformation" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
<xs:complexType name="objectProductionDateList">
<xs:sequence>
<xs:element name="objectProductionDate" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
+ <xs:complexType name="objectProductionOrganizationGroupList">
+ <xs:sequence>
+ <xs:element name="objectProductionOrganizationGroup" type="objectProductionOrganizationGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="objectProductionOrganizationGroup">
+ <xs:sequence>
+ <xs:element name="objectProductionOrganization" type="xs:string"/>
+ <xs:element name="objectProductionOrganizationRole" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="objectProductionPeopleGroupList">
+ <xs:sequence>
+ <xs:element name="objectProductionPeopleGroup" type="objectProductionPeopleGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="objectProductionPeopleGroup">
+ <xs:sequence>
+ <xs:element name="objectProductionPeople" type="xs:string"/>
+ <xs:element name="objectProductionPeopleRole" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="objectProductionPersonGroupList">
+ <xs:sequence>
+ <xs:element name="objectProductionPersonGroup" type="objectProductionPersonGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="objectProductionPersonGroup">
+ <xs:sequence>
+ <xs:element name="objectProductionPerson" type="xs:string"/>
+ <xs:element name="objectProductionPersonRole" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="objectProductionPlaceGroupList">
+ <xs:sequence>
+ <xs:element name="objectProductionPlaceGroup" type="objectProductionPlaceGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="objectProductionPlaceGroup">
+ <xs:sequence>
+ <xs:element name="objectProductionPlace" type="xs:string"/>
+ <xs:element name="objectProductionPlaceRole" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
<xs:complexType name="objectProductionReasonList">
<xs:sequence>
<xs:element name="objectProductionReason" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="assocConceptList">
+ <xs:complexType name="techniqueGroupList">
+ <xs:sequence>
+ <xs:element name="techniqueGroup" type="techniqueGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="techniqueGroup">
<xs:sequence>
- <xs:element name="assocConcept" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="technique" type="xs:string"/>
+ <xs:element name="techniqueType" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="assocCulturalContextList">
+ <xs:complexType name="assocActivityGroupList">
<xs:sequence>
- <xs:element name="assocCulturalContext" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="assocActivityGroup" type="assocActivityGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="assocActivityGroup">
+ <xs:sequence>
+ <xs:element name="assocActivity" type="xs:string"/>
+ <xs:element name="assocActivityType" type="xs:string"/>
+ <xs:element name="assocActivityNote" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="assocConceptGroupList">
+ <xs:sequence>
+ <xs:element name="assocConceptGroup" type="assocConceptGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="assocConceptGroup">
+ <xs:sequence>
+ <xs:element name="assocConcept" type="xs:string"/>
+ <xs:element name="assocConceptType" type="xs:string"/>
+ <xs:element name="assocConceptNote" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- FIXME rename fields, if not over CSPACE-2501 length limit, -->
+ <!-- to assocCulturalAffinity -->
+ <xs:complexType name="assocCulturalContextGroupList">
+ <xs:sequence>
+ <xs:element name="assocCulturalContextGroup" type="assocCulturalContextGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- FIXME rename fields, if not over CSPACE-2501 length limit, -->
+ <!-- to assocCulturalAffinity -->
+ <xs:complexType name="assocCulturalContextGroup">
+ <xs:sequence>
+ <xs:element name="assocCulturalContext" type="xs:string"/>
+ <xs:element name="assocCulturalContextType" type="xs:string"/>
+ <xs:element name="assocCulturalContextNote" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="assocDateGroupList">
+ <xs:sequence>
+ <xs:element name="assocDateGroup" type="assocDateGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="assocDateGroup">
+ <xs:sequence>
+ <xs:element name="assocDate" type="xs:string"/>
+ <xs:element name="assocDateType" type="xs:string"/>
+ <xs:element name="assocDateNote" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="assocOrganizationList">
+ <xs:complexType name="assocObjectGroupList">
<xs:sequence>
- <xs:element name="assocOrganization" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="assocObjectGroup" type="assocObjectGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
+ <xs:complexType name="assocObjectGroup">
+ <xs:sequence>
+ <xs:element name="assocObject" type="xs:string"/>
+ <xs:element name="assocObjectType" type="xs:string"/>
+ <xs:element name="assocObjectNote" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="assocPeopleList">
+ <xs:complexType name="assocOrganizationGroupList">
+ <xs:sequence>
+ <xs:element name="assocOrganizationGroup" type="assocOrganizationGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="assocOrganizationGroup">
+ <xs:sequence>
+ <xs:element name="assocOrganization" type="xs:string"/>
+ <xs:element name="assocOrganizationType" type="xs:string"/>
+ <xs:element name="assocOrganizationNote" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="assocPeopleGroupList">
+ <xs:sequence>
+ <xs:element name="assocPeopleGroup" type="assocPeopleGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="assocPeopleGroup">
<xs:sequence>
- <xs:element name="assocPeople" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="assocPeople" type="xs:string"/>
+ <xs:element name="assocPeopleType" type="xs:string"/>
+ <xs:element name="assocPeopleNote" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="assocPersonList">
+ <xs:complexType name="assocPersonGroupList">
+ <xs:sequence>
+ <xs:element name="assocPersonGroup" type="assocPersonGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="assocPersonGroup">
<xs:sequence>
- <xs:element name="assocPerson" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="assocPerson" type="xs:string"/>
+ <xs:element name="assocPersonType" type="xs:string"/>
+ <xs:element name="assocPersonNote" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="assocPlaceList">
+ <xs:complexType name="assocPlaceGroupList">
<xs:sequence>
- <xs:element name="assocPlace" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="assocPlaceGroup" type="assocPlaceGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="assocPlaceGroup">
+ <xs:sequence>
+ <xs:element name="assocPlace" type="xs:string"/>
+ <xs:element name="assocPlaceType" type="xs:string"/>
+ <xs:element name="assocPlaceNote" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:sequence>
</xs:complexType>
+ <xs:complexType name="usageGroupList">
+ <xs:sequence>
+ <xs:element name="usageGroup" type="usageGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="usageGroup">
+ <xs:sequence>
+ <xs:element name="usage" type="xs:string"/>
+ <xs:element name="usageNote" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
<xs:complexType name="ownersReferenceList">
<xs:sequence>
<xs:element name="ownersReference" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
CollectionObjectListItem coListItem = new CollectionObjectListItem();
try {
coListItem.setObjectNumber((String) docModel.getProperty(label,
- CollectionObjectListItemJAXBSchema.OBJECT_NUMBER));
- List names = (List) docModel.getProperty(label,
- CollectionObjectListItemJAXBSchema.OBJECT_NAME_LIST);
- if(names!=null && !names.isEmpty()) {
- HashMap<String,Object> firstNameInfo = (HashMap<String,Object>)names.get(0);
- coListItem.setObjectName((String)firstNameInfo.get(
- CollectionObjectListItemJAXBSchema.OBJECT_NAME) );
- }
- coListItem.setTitle((String) docModel.getProperty(label,
- CollectionObjectListItemJAXBSchema.TITLE));
- Object respDepts = docModel.getProperty(label,
- CollectionObjectListItemJAXBSchema.RESPONSIBLE_DEPARTMENTS);
- coListItem.setResponsibleDepartment(DocumentUtils.getFirstString(respDepts));
+ CollectionObjectListItemJAXBSchema.OBJECT_NUMBER));
+
+ List<Object> objectNames = (List<Object>) docModel.getProperty(label,
+ CollectionObjectListItemJAXBSchema.OBJECT_NAME_LIST);
+ String primaryObjectName = primaryValueFromMultivalue(objectNames,
+ CollectionObjectListItemJAXBSchema.OBJECT_NAME);
+ coListItem.setObjectName(primaryObjectName);
+
+ List<Object> titles =
+ (List<Object>) docModel.getProperty(label,
+ CollectionObjectListItemJAXBSchema.TITLE_GROUP_LIST);
+ String primaryTitle = primaryValueFromMultivalue(titles,
+ CollectionObjectListItemJAXBSchema.TITLE);
+ coListItem.setTitle(primaryTitle);
+
+ List<Object> respDepts =
+ (List<Object>) docModel.getProperty(label,
+ CollectionObjectListItemJAXBSchema.RESPONSIBLE_DEPARTMENTS);
+ coListItem.setResponsibleDepartment(DocumentUtils.getFirstString(respDepts));
String id = NuxeoUtils.extractId(docModel.getPathAsString());
coListItem.setUri(getServiceContextPath() + id);
versionable="true" auditable="false"
label="collectionobjects_common" updated="" order="1">
<service:properties>
+ <!-- Commented out for now, as searching within a field in a complexType breaks searches. -->
+ <!-- The following fields were placed into complexTypes in group repeatability work in CSPACE-2927: -->
+ <!--
+ <types:item><types:key>authRef</types:key><types:value>inscriptionContentInscriber</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>inscriptionDescriptionInscriber</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>objectProductionPerson</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>objectProductionOrganization</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>assocOrganizations|assocOrganization</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>assocPersons|assocPerson</types:value></types:item>
+ -->
<types:item><types:key>authRef</types:key><types:value>contentOrganizations|contentOrganization</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>contentPersons|contentPerson</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>inscriptionContentInscriber</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>inscriptionDescriptionInscriber</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>objectProductionPerson</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>objectProductionOrganization</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>assocEventOrganizations|assocEventOrganization</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>assocEventPersons|assocEventPerson</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>assocOrganizations|assocOrganization</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>assocPersons|assocPerson</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>owners|owner</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>fieldCollectionSources|fieldCollectionSource</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>fieldCollectors|fieldCollector</types:value></types:item>
versionable="true" auditable="false"
label="collectionobjects_common" updated="" order="1">
<service:properties>
+ <!-- Commented out for now, as searching within a field in a complexType breaks searches. -->
+ <!-- The following fields were placed into complexTypes in group repeatability work in CSPACE-2927: -->
+ <!--
+ <types:item><types:key>authRef</types:key><types:value>inscriptionContentInscriber</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>inscriptionDescriptionInscriber</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>objectProductionPerson</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>objectProductionOrganization</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>assocOrganizations|assocOrganization</types:value></types:item>
+ <types:item><types:key>authRef</types:key><types:value>assocPersons|assocPerson</types:value></types:item>
+ -->
<types:item><types:key>authRef</types:key><types:value>contentOrganizations|contentOrganization</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>contentPersons|contentPerson</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>inscriptionContentInscriber</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>inscriptionDescriptionInscriber</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>objectProductionPerson</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>objectProductionOrganization</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>assocEventOrganizations|assocEventOrganization</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>assocEventPersons|assocEventPerson</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>assocOrganizations|assocOrganization</types:value></types:item>
- <types:item><types:key>authRef</types:key><types:value>assocPersons|assocPerson</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>owners|owner</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>fieldCollectionSources|fieldCollectionSource</types:value></types:item>
<types:item><types:key>authRef</types:key><types:value>fieldCollectors|fieldCollector</types:value></types:item>
import org.testng.annotations.Test;
import org.collectionspace.services.account.AccountTenant;
-import org.collectionspace.services.client.AccountClient;
import org.collectionspace.services.account.AccountsCommon;
import org.collectionspace.services.account.Status;
+import org.collectionspace.services.client.AccountClient;
import org.collectionspace.services.client.AccountFactory;
-import org.collectionspace.services.collectionobject.CollectionobjectsCommon;
import org.collectionspace.services.client.CollectionObjectClient;
import org.collectionspace.services.client.CollectionObjectFactory;
import org.collectionspace.services.client.CollectionSpaceClient;
import org.collectionspace.services.client.test.AbstractServiceTestImpl;
import org.collectionspace.services.client.test.BaseServiceTest;
+import org.collectionspace.services.collectionobject.CollectionobjectsCommon;
+import org.collectionspace.services.collectionobject.TitleGroup;
+import org.collectionspace.services.collectionobject.TitleGroupList;
import org.collectionspace.services.jaxb.AbstractCommonList;
import org.slf4j.Logger;
CollectionobjectsCommon collectionObject = new CollectionobjectsCommon();
collectionObject.setObjectNumber(objectNumber);
- collectionObject.setTitle(title);
+ TitleGroupList titleGroupList = new TitleGroupList();
+ List<TitleGroup> titleGroups = titleGroupList.getTitleGroup();
+ TitleGroup titleGroup = new TitleGroup();
+ titleGroup.setTitle(title);
+ titleGroups.add(titleGroup);
+ collectionObject.setTitleGroupList(titleGroupList);
MultipartOutput multipart =
CollectionObjectFactory.createCollectionObjectInstance(
commonPartName, collectionObject, null, null);