From 79d741dc8d603d5ee47bbe6d31b99efc19c4d99a Mon Sep 17 00:00:00 2001 From: Aron Roberts Date: Thu, 9 Dec 2010 21:35:22 +0000 Subject: [PATCH] CSPACE-2927: Added 23 repeatable groups to the CollectionObject schema, in the services layer. There are still some instance files and other artifacts that do not reflect all of these changes, but those do not currently cause tests to fail. --- .../test/CollectionSpaceIntegrationTest.java | 10 +- ...cspace-2242-first-value-instance-blank.xml | 1 - ...ace-2242-first-value-instance-nonblank.xml | 3 +- .../collectionobject/nh-collectionobject.xml | 2 +- .../collectionobject/repfield_whitesp1.xml | 5 +- .../collectionobject/repfield_whitesp2.xml | 2 - .../collectionobject/repfield_whitesp3.xml | 2 - .../collectionobject/repfield_whitesp4.xml | 2 - .../collectionobject/testCambridge-update.xml | 7 +- .../collectionobject/testCambridge.xml | 6 +- .../test/CollectionSpacePerformanceTest.java | 10 +- .../schemas/collectionobjects_common.xsd | 553 +++++++++++------- .../test/CollectionObjectAuthRefsTest.java | 105 ++-- .../test/CollectionObjectSearchTest.java | 8 +- .../test/CollectionObjectServiceTest.java | 27 +- ...cspace-2242-first-value-instance-blank.xml | 1 - ...ace-2242-first-value-instance-nonblank.xml | 3 +- .../test-data/cspace-2779-utf-8-create.xml | 6 +- .../resources/test-data/repfield_whitesp1.xml | 1 - .../resources/test-data/repfield_whitesp2.xml | 2 - .../resources/test-data/repfield_whitesp3.xml | 2 - .../resources/test-data/repfield_whitesp4.xml | 2 - .../resources/test-data/testCambridge.xml | 92 --- .../CollectionObjectListItemJAXBSchema.java | 1 + .../resources/collectionobjects_common.xsd | 378 +++++++++--- .../CollectionObjectDocumentModelHandler.java | 32 +- .../main/config/services/tenant-bindings.xml | 32 +- .../test/AuthenticationServiceTest.java | 13 +- 28 files changed, 806 insertions(+), 502 deletions(-) diff --git a/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/CollectionSpaceIntegrationTest.java b/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/CollectionSpaceIntegrationTest.java index 03f39e960..856e3e5c6 100755 --- a/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/CollectionSpaceIntegrationTest.java +++ b/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/CollectionSpaceIntegrationTest.java @@ -27,6 +27,7 @@ package org.collectionspace.services.IntegrationTests.test; import java.util.ArrayList; +import java.util.List; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; @@ -34,6 +35,8 @@ import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import org.collectionspace.services.collectionobject.CollectionobjectsCommon; +import org.collectionspace.services.collectionobject.TitleGroup; +import org.collectionspace.services.collectionobject.TitleGroupList; import org.collectionspace.services.intake.IntakesCommon; import org.collectionspace.services.relation.RelationsCommon; import org.collectionspace.services.relation.RelationshipType; @@ -71,7 +74,12 @@ public abstract class CollectionSpaceIntegrationTest { void fillCollectionObject(CollectionobjectsCommon co, String objectNumber, String title) { co.setObjectNumber(objectNumber); - co.setTitle(title); + TitleGroupList titleGroupList = new TitleGroupList(); + List titleGroups = titleGroupList.getTitleGroup(); + TitleGroup titleGroup = new TitleGroup(); + titleGroup.setTitle(title); + titleGroups.add(titleGroup); + co.setTitleGroupList(titleGroupList); } /** diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/cspace-2242-first-value-instance-blank.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/cspace-2242-first-value-instance-blank.xml index c0ab86876..0be1c98f5 100755 --- a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/cspace-2242-first-value-instance-blank.xml +++ b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/cspace-2242-first-value-instance-blank.xml @@ -12,7 +12,6 @@ xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd"> 2 description - diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/cspace-2242-first-value-instance-nonblank.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/cspace-2242-first-value-instance-nonblank.xml index a75c58472..51b35bef2 100755 --- a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/cspace-2242-first-value-instance-nonblank.xml +++ b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/cspace-2242-first-value-instance-nonblank.xml @@ -11,8 +11,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd"> 2 - description - + features data diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/nh-collectionobject.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/nh-collectionobject.xml index 06ed8577b..c8342a85a 100755 --- a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/nh-collectionobject.xml +++ b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/nh-collectionobject.xml @@ -29,7 +29,7 @@ urn:org.collectionspace.services.department:Registrar urn:org.walkerart.department:Fine Art -atitle +title diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp1.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp1.xml index df977b5f2..b639891b1 100755 --- a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp1.xml +++ b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp1.xml @@ -1,13 +1,10 @@ objectNumber - -XXX -otherNumberType briefDescription distFeatures numberOfObjects responsibleDept1responsibleDept2 -title +title diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp2.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp2.xml index 1917883d7..1a2186437 100755 --- a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp2.xml +++ b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp2.xml @@ -15,6 +15,4 @@ responsibleDept1 responsibleDept2 - -title diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp3.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp3.xml index ab44bf314..5c8a81b8c 100755 --- a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp3.xml +++ b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp3.xml @@ -18,6 +18,4 @@ responsibleDept1 responsibleDept2 - -title diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp4.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp4.xml index e8746eed1..a83be2855 100755 --- a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp4.xml +++ b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/repfield_whitesp4.xml @@ -15,6 +15,4 @@ responsibleDept1 responsibleDept2 - -title diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/testCambridge-update.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/testCambridge-update.xml index 81aeadcfc..905ae0428 100755 --- a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/testCambridge-update.xml +++ b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/testCambridge-update.xml @@ -3,7 +3,6 @@ objectNumber XXX otherNumberType - This is an UPDATEd comment - NEW TITLE UPDATED - - + This is an UPDATEd distFeatures + NEW TITLE UPDATED + diff --git a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/testCambridge.xml b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/testCambridge.xml index 00f581393..dd7a6fb12 100755 --- a/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/testCambridge.xml +++ b/services/IntegrationTests/src/test/resources/test-data/xmlreplay/collectionobject/testCambridge.xml @@ -9,7 +9,11 @@ numberOfObjects - title + + + title + + objectTitleLanguage titleTranslation titleType diff --git a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/CollectionSpacePerformanceTest.java b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/CollectionSpacePerformanceTest.java index d84a6754c..b6e161b38 100644 --- a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/CollectionSpacePerformanceTest.java +++ b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/CollectionSpacePerformanceTest.java @@ -27,6 +27,7 @@ package org.collectionspace.services.PerformanceTests.test; import java.util.ArrayList; +import java.util.List; import java.util.Random; import javax.ws.rs.core.MultivaluedMap; @@ -35,6 +36,8 @@ import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import org.collectionspace.services.collectionobject.CollectionobjectsCommon; +import org.collectionspace.services.collectionobject.TitleGroup; +import org.collectionspace.services.collectionobject.TitleGroupList; import org.collectionspace.services.intake.IntakesCommon; import org.collectionspace.services.relation.RelationsCommon; import org.collectionspace.services.relation.RelationshipType; @@ -74,7 +77,12 @@ public abstract class CollectionSpacePerformanceTest { void fillCollectionObject(CollectionobjectsCommon co, String objectNumber, String title) { co.setObjectNumber(objectNumber); - co.setTitle(title); + TitleGroupList titleGroupList = new TitleGroupList(); + List titleGroups = titleGroupList.getTitleGroup(); + TitleGroup titleGroup = new TitleGroup(); + titleGroup.setTitle(title); + titleGroups.add(titleGroup); + co.setTitleGroupList(titleGroupList); } /** diff --git a/services/collectionobject/3rdparty/nuxeo-platform-cs-collectionobject/src/main/resources/schemas/collectionobjects_common.xsd b/services/collectionobject/3rdparty/nuxeo-platform-cs-collectionobject/src/main/resources/schemas/collectionobjects_common.xsd index 2b18551ae..a238c8a4e 100644 --- a/services/collectionobject/3rdparty/nuxeo-platform-cs-collectionobject/src/main/resources/schemas/collectionobjects_common.xsd +++ b/services/collectionobject/3rdparty/nuxeo-platform-cs-collectionobject/src/main/resources/schemas/collectionobjects_common.xsd @@ -20,14 +20,14 @@ + - - + @@ -46,7 +46,6 @@ - @@ -56,19 +55,11 @@ - - - - - - - - - - + + @@ -100,12 +91,7 @@ - - - - - - + @@ -114,12 +100,7 @@ - - - - - - + @@ -127,12 +108,7 @@ - - - - - - + @@ -154,8 +130,6 @@ - - @@ -163,7 +137,6 @@ - @@ -172,11 +145,9 @@ - - + - @@ -185,7 +156,7 @@ - + @@ -197,7 +168,6 @@ - @@ -211,11 +181,9 @@ - - @@ -225,19 +193,13 @@ - - - - - - - - + + @@ -249,21 +211,11 @@ - - - - - - - - - - - + + - @@ -271,30 +223,11 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + @@ -302,59 +235,24 @@ - - - - - + - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - + + + + + - @@ -384,75 +282,18 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - + + + + @@ -460,29 +301,23 @@ - - - - - - - - + + + - @@ -493,10 +328,10 @@ + - @@ -508,7 +343,6 @@ - @@ -519,6 +353,7 @@ + @@ -544,7 +379,6 @@ - @@ -559,7 +393,6 @@ maxOccurs="unbounded"/> - @@ -573,7 +406,6 @@ maxOccurs="unbounded"/> - @@ -586,13 +418,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -604,6 +490,257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectAuthRefsTest.java b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectAuthRefsTest.java index 468c223a8..c9b44ee6e 100644 --- a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectAuthRefsTest.java +++ b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectAuthRefsTest.java @@ -41,14 +41,14 @@ import org.collectionspace.services.client.PersonAuthorityClientUtils; 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; @@ -109,14 +109,8 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest { 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; @@ -130,14 +124,8 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest { + "\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; @@ -147,7 +135,7 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest { } /** 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() @@ -199,14 +187,8 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest { "ObjNum" + "-" + identifier, contentOrganizationRefName, contentPersonRefName, - contentInscriberRefName, - descriptionInscriberRefName, - objectProductionPersonRefName, - objectProductionOrganizationRefName, assocEventOrganizationRefName, assocEventPersonRefName, - assocOrganizationRefName, - assocPersonRefName, ownerRefName, fieldCollectionSourceRefName, fieldCollectorRefName @@ -306,25 +288,25 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest { 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); @@ -400,17 +382,17 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest { 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); } @@ -473,8 +455,8 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest { "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); @@ -576,24 +558,19 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest { 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 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 contentOrganizations = contentOrganizationList.getContentOrganization(); @@ -615,15 +592,15 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest { assocEventPersons.add(assocEventPerson); collectionObject.setAssocEventPersons(assocEventPersonList); - AssocOrganizationList assocOrganizationList = new AssocOrganizationList(); - List assocOrganizations = assocOrganizationList.getAssocOrganization(); - assocOrganizations.add(assocOrganization); - collectionObject.setAssocOrganizations(assocOrganizationList); - - AssocPersonList assocPersonList = new AssocPersonList(); - List assocPersons = assocPersonList.getAssocPerson(); - assocPersons.add(assocPerson); - collectionObject.setAssocPersons(assocPersonList); +// AssocOrganizationList assocOrganizationList = new AssocOrganizationList(); +// List assocOrganizations = assocOrganizationList.getAssocOrganization(); +// assocOrganizations.add(assocOrganization); +// collectionObject.setAssocOrganizations(assocOrganizationList); +// +// AssocPersonList assocPersonList = new AssocPersonList(); +// List assocPersons = assocPersonList.getAssocPerson(); +// assocPersons.add(assocPerson); +// collectionObject.setAssocPersons(assocPersonList); OwnerList ownerList = new OwnerList(); List owners = ownerList.getOwner(); diff --git a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectSearchTest.java b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectSearchTest.java index b9ee251df..acd7b03ee 100644 --- a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectSearchTest.java +++ b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectSearchTest.java @@ -460,13 +460,13 @@ public class CollectionObjectSearchTest extends BaseServiceTest { 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."); } diff --git a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectServiceTest.java b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectServiceTest.java index 3de64ba69..b886b06c4 100644 --- a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectServiceTest.java +++ b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectServiceTest.java @@ -41,6 +41,8 @@ import org.collectionspace.services.collectionobject.ObjectNameGroup; 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; @@ -324,7 +326,7 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { 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); @@ -493,7 +495,13 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { // 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 titleGroups = titleGroupList.getTitleGroup(); + TitleGroup titleGroup = new TitleGroup(); + titleGroup.setTitle("a title"); + titleGroups.add(titleGroup); + collectionObject.setTitleGroupList(titleGroupList); ObjectNameList objNameList = new ObjectNameList(); List objNameGroups = objNameList.getObjectNameGroup(); @@ -520,11 +528,12 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { // 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(); @@ -1202,7 +1211,6 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { collectionObject.setRemNumber(remNumber); // Scalar fields - collectionObject.setTitle("atitle"); collectionObject.setObjectNumber(objectNumber); collectionObject.setAge(""); //test for null string @@ -1212,6 +1220,13 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { // Repeatable structured groups + TitleGroupList titleGroupList = new TitleGroupList(); + List titleGroups = titleGroupList.getTitleGroup(); + TitleGroup titleGroup = new TitleGroup(); + titleGroup.setTitle("a title"); + titleGroups.add(titleGroup); + collectionObject.setTitleGroupList(titleGroupList); + ObjectNameList objNameList = new ObjectNameList(); List objNameGroups = objNameList.getObjectNameGroup(); ObjectNameGroup objectNameGroup = new ObjectNameGroup(); diff --git a/services/collectionobject/client/src/test/resources/test-data/cspace-2242-first-value-instance-blank.xml b/services/collectionobject/client/src/test/resources/test-data/cspace-2242-first-value-instance-blank.xml index c0ab86876..0be1c98f5 100644 --- a/services/collectionobject/client/src/test/resources/test-data/cspace-2242-first-value-instance-blank.xml +++ b/services/collectionobject/client/src/test/resources/test-data/cspace-2242-first-value-instance-blank.xml @@ -12,7 +12,6 @@ xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd"> 2 description - diff --git a/services/collectionobject/client/src/test/resources/test-data/cspace-2242-first-value-instance-nonblank.xml b/services/collectionobject/client/src/test/resources/test-data/cspace-2242-first-value-instance-nonblank.xml index a75c58472..809753a66 100644 --- a/services/collectionobject/client/src/test/resources/test-data/cspace-2242-first-value-instance-nonblank.xml +++ b/services/collectionobject/client/src/test/resources/test-data/cspace-2242-first-value-instance-nonblank.xml @@ -11,8 +11,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd"> 2 - description - + distFeatures data diff --git a/services/collectionobject/client/src/test/resources/test-data/cspace-2779-utf-8-create.xml b/services/collectionobject/client/src/test/resources/test-data/cspace-2779-utf-8-create.xml index 0f7ede491..4cf35bf80 100644 --- a/services/collectionobject/client/src/test/resources/test-data/cspace-2779-utf-8-create.xml +++ b/services/collectionobject/client/src/test/resources/test-data/cspace-2779-utf-8-create.xml @@ -1,9 +1,9 @@ 2 Katowice Spodek Live '94 by the band Perfect - Audiorecording album cover signed by Lech Wałęsa + Audiorecording album cover signed by Lech Wałęsa diff --git a/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp1.xml b/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp1.xml index df977b5f2..f94f3f3b3 100644 --- a/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp1.xml +++ b/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp1.xml @@ -9,5 +9,4 @@ numberOfObjects responsibleDept1responsibleDept2 -title diff --git a/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp2.xml b/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp2.xml index 1917883d7..1a2186437 100644 --- a/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp2.xml +++ b/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp2.xml @@ -15,6 +15,4 @@ responsibleDept1 responsibleDept2 - -title diff --git a/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp3.xml b/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp3.xml index ab44bf314..5c8a81b8c 100644 --- a/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp3.xml +++ b/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp3.xml @@ -18,6 +18,4 @@ responsibleDept1 responsibleDept2 - -title diff --git a/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp4.xml b/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp4.xml index e8746eed1..a83be2855 100644 --- a/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp4.xml +++ b/services/collectionobject/client/src/test/resources/test-data/repfield_whitesp4.xml @@ -15,6 +15,4 @@ responsibleDept1 responsibleDept2 - -title diff --git a/services/collectionobject/client/src/test/resources/test-data/testCambridge.xml b/services/collectionobject/client/src/test/resources/test-data/testCambridge.xml index 5929799ec..30dd4ef19 100644 --- a/services/collectionobject/client/src/test/resources/test-data/testCambridge.xml +++ b/services/collectionobject/client/src/test/resources/test-data/testCambridge.xml @@ -9,98 +9,6 @@ objectNumber - XXX - otherNumberType - - comments distFeatures numberOfObjects - - - - title - objectTitleLanguage - titleTranslation - titleType - age - ageQualifier - ageUnit - color - contentActivity - contentConcept - XXX - contentDescription - contentEventName - contentEventNameType - contentNote - contentLanguage - contentObject - contentObjectType - contentOrganization - contentOther - contentOtherType - contentPeople - contentPerson - contentPlace - contentPosition - XXX - copyNumber - editionNumber -
form
- inscriptionContent -inscriptionContentInscriber -inscriptionContentDate -inscriptionContentInterpretation -inscriptionContentLanguage -inscriptionContentMethod -inscriptionContentPosition -inscriptionContentScript -inscriptionContentTranslation -inscriptionContentTransliteration -inscriptionContentType inscriptionDescription - -inscriptionDescriptionInscriber - -inscriptionDescriptionDate - -inscriptionDescriptionInterpretation - -inscriptionDescriptionMethod - -inscriptionDescriptionPosition - -inscriptionDescriptionType - material - materialComponent - materialComponentNote - materialName - materialSource - objectStatus - phase - physicalDescription - sex - - technicalAttribute - -technicalAttributeMeasurement - -technicalAttributeMeasurementUnit - objectComponentName - -objectComponentInformation - dateAssociation - -{"level":"objectLevel","content-script":"descContentScript","content-method":"descContentMethod","otherNumber":"otherNumber"} - - -dateEarliestSingleCertainty - -dateEarlierstSingleQualifier - XXX - dateLatestCertainty - dateLatestQualifier - datePeriod - dateText
diff --git a/services/collectionobject/jaxb/src/main/java/org/collectionspace/services/CollectionObjectListItemJAXBSchema.java b/services/collectionobject/jaxb/src/main/java/org/collectionspace/services/CollectionObjectListItemJAXBSchema.java index a098b525c..165dcc53f 100644 --- a/services/collectionobject/jaxb/src/main/java/org/collectionspace/services/CollectionObjectListItemJAXBSchema.java +++ b/services/collectionobject/jaxb/src/main/java/org/collectionspace/services/CollectionObjectListItemJAXBSchema.java @@ -4,6 +4,7 @@ public interface CollectionObjectListItemJAXBSchema { final static String OBJECT_NUMBER = "objectNumber"; final static String OBJECT_NAME_LIST = "objectNameList"; final static String OBJECT_NAME = "objectName"; + final static String TITLE_GROUP_LIST = "titleGroupList"; final static String TITLE = "title"; final static String RESPONSIBLE_DEPARTMENTS = "responsibleDepartments"; final static String CSID = "csid"; diff --git a/services/collectionobject/jaxb/src/main/resources/collectionobjects_common.xsd b/services/collectionobject/jaxb/src/main/resources/collectionobjects_common.xsd index 72093abc3..d5cb4ab9e 100644 --- a/services/collectionobject/jaxb/src/main/resources/collectionobjects_common.xsd +++ b/services/collectionobject/jaxb/src/main/resources/collectionobjects_common.xsd @@ -51,11 +51,7 @@ - - - - - + @@ -69,15 +65,12 @@ - - + - - + - - + @@ -100,6 +93,9 @@ + + + @@ -113,6 +109,9 @@ + + + @@ -122,11 +121,7 @@ - - - - - + @@ -134,40 +129,30 @@ - - - - - + + - - - - - - - - + + + + - - + - - - - - - - - + + + + + + @@ -175,16 +160,11 @@ - - - - - - - - - - + + + + + @@ -197,8 +177,7 @@ - - + @@ -248,7 +227,6 @@
- @@ -262,7 +240,6 @@ maxOccurs="unbounded"/> - @@ -275,6 +252,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -359,7 +391,6 @@ maxOccurs="unbounded"/> - @@ -377,33 +408,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -431,27 +618,73 @@
- + - + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + + + - + + + + + + - + + + - + - + + + + + + + + @@ -461,6 +694,19 @@ + + + + + + + + + + + + diff --git a/services/collectionobject/service/src/main/java/org/collectionspace/services/collectionobject/nuxeo/CollectionObjectDocumentModelHandler.java b/services/collectionobject/service/src/main/java/org/collectionspace/services/collectionobject/nuxeo/CollectionObjectDocumentModelHandler.java index 54bb6cee1..71ea71ed9 100644 --- a/services/collectionobject/service/src/main/java/org/collectionspace/services/collectionobject/nuxeo/CollectionObjectDocumentModelHandler.java +++ b/services/collectionobject/service/src/main/java/org/collectionspace/services/collectionobject/nuxeo/CollectionObjectDocumentModelHandler.java @@ -135,19 +135,25 @@ public class CollectionObjectDocumentModelHandler 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 firstNameInfo = (HashMap)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 objectNames = (List) docModel.getProperty(label, + CollectionObjectListItemJAXBSchema.OBJECT_NAME_LIST); + String primaryObjectName = primaryValueFromMultivalue(objectNames, + CollectionObjectListItemJAXBSchema.OBJECT_NAME); + coListItem.setObjectName(primaryObjectName); + + List titles = + (List) docModel.getProperty(label, + CollectionObjectListItemJAXBSchema.TITLE_GROUP_LIST); + String primaryTitle = primaryValueFromMultivalue(titles, + CollectionObjectListItemJAXBSchema.TITLE); + coListItem.setTitle(primaryTitle); + + List respDepts = + (List) docModel.getProperty(label, + CollectionObjectListItemJAXBSchema.RESPONSIBLE_DEPARTMENTS); + coListItem.setResponsibleDepartment(DocumentUtils.getFirstString(respDepts)); String id = NuxeoUtils.extractId(docModel.getPathAsString()); coListItem.setUri(getServiceContextPath() + id); diff --git a/services/common/src/main/config/services/tenant-bindings.xml b/services/common/src/main/config/services/tenant-bindings.xml index 2ab8966fd..1be456321 100644 --- a/services/common/src/main/config/services/tenant-bindings.xml +++ b/services/common/src/main/config/services/tenant-bindings.xml @@ -77,16 +77,20 @@ versionable="true" auditable="false" label="collectionobjects_common" updated="" order="1"> + + + authRefcontentOrganizations|contentOrganization authRefcontentPersons|contentPerson - authRefinscriptionContentInscriber - authRefinscriptionDescriptionInscriber - authRefobjectProductionPerson - authRefobjectProductionOrganization authRefassocEventOrganizations|assocEventOrganization authRefassocEventPersons|assocEventPerson - authRefassocOrganizations|assocOrganization - authRefassocPersons|assocPerson authRefowners|owner authReffieldCollectionSources|fieldCollectionSource authReffieldCollectors|fieldCollector @@ -1357,16 +1361,20 @@ versionable="true" auditable="false" label="collectionobjects_common" updated="" order="1"> + + + authRefcontentOrganizations|contentOrganization authRefcontentPersons|contentPerson - authRefinscriptionContentInscriber - authRefinscriptionDescriptionInscriber - authRefobjectProductionPerson - authRefobjectProductionOrganization authRefassocEventOrganizations|assocEventOrganization authRefassocEventPersons|assocEventPerson - authRefassocOrganizations|assocOrganization - authRefassocPersons|assocPerson authRefowners|owner authReffieldCollectionSources|fieldCollectionSource authReffieldCollectors|fieldCollector diff --git a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthenticationServiceTest.java b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthenticationServiceTest.java index fbe0db723..29aaffdf6 100644 --- a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthenticationServiceTest.java +++ b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthenticationServiceTest.java @@ -34,16 +34,18 @@ import org.testng.Assert; 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; @@ -454,7 +456,12 @@ public class AuthenticationServiceTest extends AbstractServiceTestImpl { CollectionobjectsCommon collectionObject = new CollectionobjectsCommon(); collectionObject.setObjectNumber(objectNumber); - collectionObject.setTitle(title); + TitleGroupList titleGroupList = new TitleGroupList(); + List titleGroups = titleGroupList.getTitleGroup(); + TitleGroup titleGroup = new TitleGroup(); + titleGroup.setTitle(title); + titleGroups.add(titleGroup); + collectionObject.setTitleGroupList(titleGroupList); MultipartOutput multipart = CollectionObjectFactory.createCollectionObjectInstance( commonPartName, collectionObject, null, null); -- 2.47.3