From ee39745daad61c6bdc0f9cf553bd4966377da061 Mon Sep 17 00:00:00 2001 From: Aron Roberts Date: Fri, 6 Aug 2010 20:46:01 +0000 Subject: [PATCH] CSPACE-2468: Modified CollectionObject records in the services layer, making the ObjectName group repeatable. --- .../test/CollectionSpaceIntegrationTest.java | 8 +-- .../test/CollectionSpacePerformanceTest.java | 10 ++-- .../test/PerformanceTest.java | 2 +- .../schemas/collectionobjects_common.xsd | 56 ++++++++++++------- .../test/CollectionObjectServiceTest.java | 52 ++++++++++++++--- ...cspace-2242-first-value-instance-blank.xml | 1 - ...ace-2242-first-value-instance-nonblank.xml | 1 - .../resources/test-data/repfield_whitesp1.xml | 8 --- .../resources/test-data/repfield_whitesp2.xml | 8 --- .../resources/test-data/repfield_whitesp3.xml | 8 --- .../resources/test-data/repfield_whitesp4.xml | 8 --- .../resources/test-data/testCambridge.xml | 7 --- .../resources/collectionobjects_common.xsd | 55 +++++++++++------- .../test/AuthenticationServiceTest.java | 8 +-- 14 files changed, 127 insertions(+), 105 deletions(-) diff --git a/services/IntegrationTests/src/test/java/org/collectionspace/services/ItegrationTests/test/CollectionSpaceIntegrationTest.java b/services/IntegrationTests/src/test/java/org/collectionspace/services/ItegrationTests/test/CollectionSpaceIntegrationTest.java index 1f3bf427b..66ea21185 100644 --- a/services/IntegrationTests/src/test/java/org/collectionspace/services/ItegrationTests/test/CollectionSpaceIntegrationTest.java +++ b/services/IntegrationTests/src/test/java/org/collectionspace/services/ItegrationTests/test/CollectionSpaceIntegrationTest.java @@ -57,7 +57,7 @@ public abstract class CollectionSpaceIntegrationTest { * @param identifier the identifier */ void fillCollectionObject(CollectionobjectsCommon co, String identifier) { - fillCollectionObject(co, "objectNumber-" + identifier, "objectName-" + fillCollectionObject(co, "objectNumber-" + identifier, "title-" + identifier); } @@ -66,12 +66,12 @@ public abstract class CollectionSpaceIntegrationTest { * * @param co the co * @param objectNumber the object number - * @param objectName the object name + * @param title the object title */ void fillCollectionObject(CollectionobjectsCommon co, String objectNumber, - String objectName) { + String title) { co.setObjectNumber(objectNumber); - co.setObjectName(objectName); + co.setTitle(title); } /** 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 b887f20ff..d84a6754c 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 @@ -48,7 +48,7 @@ import org.jboss.resteasy.plugins.providers.multipart.MultipartInput; public abstract class CollectionSpacePerformanceTest { protected final static String OBJECT_NUMBER = "objectNumber_"; - protected final static String OBJECT_NAME = "objectName_"; + protected final static String OBJECT_TITLE = "objectTitle_"; /* * Package scoped methods. @@ -61,7 +61,7 @@ public abstract class CollectionSpacePerformanceTest { * @param identifier the identifier */ void fillCollectionObject(CollectionobjectsCommon co, String identifier) { - fillCollectionObject(co, OBJECT_NUMBER + identifier, OBJECT_NAME + identifier); + fillCollectionObject(co, OBJECT_NUMBER + identifier, OBJECT_TITLE + identifier); } /** @@ -69,12 +69,12 @@ public abstract class CollectionSpacePerformanceTest { * * @param co the co * @param objectNumber the object number - * @param objectName the object name + * @param title the object title */ void fillCollectionObject(CollectionobjectsCommon co, String objectNumber, - String objectName) { + String title) { co.setObjectNumber(objectNumber); - co.setObjectName(objectName); + co.setTitle(title); } /** diff --git a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/PerformanceTest.java b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/PerformanceTest.java index c48dc167f..3c05a512b 100644 --- a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/PerformanceTest.java +++ b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/PerformanceTest.java @@ -131,7 +131,7 @@ public class PerformanceTest extends CollectionSpacePerformanceTest { String times = ""; for (int numOfKeywords = 0; numOfKeywords < MAX_KEYWORDS; numOfKeywords++, totalTime = 0, totalSearchResults = 0, times = "") { - keywords = keywords + " " + OBJECT_NAME + randomGenerator.nextInt(numberOfObjects); + keywords = keywords + " " + OBJECT_TITLE + randomGenerator.nextInt(numberOfObjects); for (int i = 0; i < MAX_SEARCHES; i++) { //sandwich the call with timestamps Date startTime = new Date(); 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 b0c3f0779..3c3319578 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 @@ -17,20 +17,6 @@ xmlns="http://collectionspace.org/collectionobject/" targetNamespace="http://collectionspace.org/collectionobject/" version="0.1"> - - - - - - - - - - - - - @@ -56,13 +42,8 @@ - - - - - - - + + @@ -389,6 +370,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 70d459ede..30beb96ca 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 @@ -35,6 +35,8 @@ import org.collectionspace.services.collectionobject.CollectionobjectsCommon; import org.collectionspace.services.collectionobject.domain.naturalhistory.CollectionobjectsNaturalhistory; import org.collectionspace.services.collectionobject.CollectionobjectsCommonList; import org.collectionspace.services.collectionobject.ResponsibleDepartmentList; +import org.collectionspace.services.collectionobject.ObjectNameGroup; +import org.collectionspace.services.collectionobject.ObjectNameList; import org.collectionspace.services.collectionobject.OtherNumber; import org.collectionspace.services.collectionobject.OtherNumberList; @@ -67,6 +69,8 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { /** The known resource id. */ private String knownResourceId = null; + private final String OBJECT_NAME_VALUE = "an object name"; + /* (non-Javadoc) * @see org.collectionspace.services.client.test.BaseServiceTest#getServicePathComponent() */ @@ -456,8 +460,14 @@ 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("atitle"); - collectionObject.setObjectName("some name"); + collectionObject.setTitle("a title"); + + ObjectNameList objNameList = new ObjectNameList(); + List objNameGroups = objNameList.getObjectNameGroup(); + ObjectNameGroup objectNameGroup = new ObjectNameGroup(); + objectNameGroup.setObjectName("an object name"); + objNameGroups.add(objectNameGroup); + collectionObject.setObjectNameList(objNameList); // Submit the request to the service and store the response. CollectionObjectClient client = new CollectionObjectClient(); @@ -480,9 +490,14 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { // empty String, in a field that requires a non-empty value, // as enforced by the service's validation routine(s). collectionObject = new CollectionobjectsCommon(); - collectionObject.setTitle("atitle"); - collectionObject.setObjectName("some name"); collectionObject.setObjectNumber(""); + collectionObject.setTitle("a title"); + objNameList = new ObjectNameList(); + objNameGroups = objNameList.getObjectNameGroup(); + objectNameGroup = new ObjectNameGroup(); + objectNameGroup.setObjectName(OBJECT_NAME_VALUE); + objNameGroups.add(objectNameGroup); + collectionObject.setObjectNameList(objNameList); // Submit the request to the service and store the response. multipart = @@ -669,7 +684,17 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { // Change the content of one or more fields in the common part. collectionObject.setObjectNumber("updated-" + collectionObject.getObjectNumber()); - collectionObject.setObjectName("updated-" + collectionObject.getObjectName()); + + ObjectNameList objNameList = collectionObject.getObjectNameList(); + List objNameGroups = objNameList.getObjectNameGroup(); + Assert.assertNotNull(objNameGroups); + Assert.assertTrue(objNameGroups.size() >= 1); + String objectName = objNameGroups.get(0).getObjectName(); + Assert.assertEquals(objectName, OBJECT_NAME_VALUE); + String updatedObjectName = "updated-" + objectName; + objNameGroups.get(0).setObjectName(updatedObjectName); + collectionObject.setObjectNameList(objNameList); + if (logger.isDebugEnabled()) { logger.debug("sparse update that will be sent in update request:"); logger.debug(objectAsXmlString(collectionObject, @@ -693,8 +718,13 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { (CollectionobjectsCommon) extractPart(input, client.getCommonPartName(), CollectionobjectsCommon.class); Assert.assertNotNull(updatedCollectionObject); - Assert.assertEquals(updatedCollectionObject.getObjectName(), - collectionObject.getObjectName(), + + objNameList = collectionObject.getObjectNameList(); + objNameGroups = objNameList.getObjectNameGroup(); + Assert.assertNotNull(objNameGroups); + Assert.assertTrue(objNameGroups.size() >= 1); + Assert.assertEquals(updatedObjectName, + objNameGroups.get(0).getObjectName(), "Data in updated object did not match submitted data."); } @@ -1132,7 +1162,13 @@ public class CollectionObjectServiceTest extends AbstractServiceTestImpl { // is supported by the application layers collectionObject.setOtherNumber("urn:org.walkerart.id:123"); - collectionObject.setObjectName(objectName); + ObjectNameList objNameList = new ObjectNameList(); + List objNameGroups = objNameList.getObjectNameGroup(); + ObjectNameGroup objectNameGroup = new ObjectNameGroup(); + objectNameGroup.setObjectName(OBJECT_NAME_VALUE); + objNameGroups.add(objectNameGroup); + collectionObject.setObjectNameList(objNameList); + collectionObject.setAge(""); //test for null string collectionObject.setBriefDescriptions(descriptionList); 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 9a69aa8c7..c0ab86876 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 - Left-handed screwdriver 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 a8bad2b51..a75c58472 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 @@ -12,7 +12,6 @@ xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd"> 2 description - Left-handed screwdriver 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 5660ba962..df977b5f2 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 @@ -7,14 +7,6 @@ briefDescription distFeatures numberOfObjects -objectName -objectNameCurrency -XXX -objectNameNote -objectNameSystem -objectNameType - -objectNameLanguage 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 c55a973e7..1917883d7 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 @@ -10,14 +10,6 @@ distFeatures numberOfObjects -objectName -objectNameCurrency -XXX -objectNameNote -objectNameSystem -objectNameType - -objectNameLanguage responsibleDept1 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 cf90657b4..ab44bf314 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 @@ -12,14 +12,6 @@ distFeatures numberOfObjects -objectName -objectNameCurrency -XXX -objectNameNote -objectNameSystem -objectNameType - -objectNameLanguage 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 3e9184c60..e8746eed1 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 @@ -10,14 +10,6 @@ distFeatures numberOfObjects -objectName -objectNameCurrency -XXX -objectNameNote -objectNameSystem -objectNameType - -objectNameLanguage responsibleDept1 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 c95d79a3f..61a0799d1 100644 --- a/services/collectionobject/client/src/test/resources/test-data/testCambridge.xml +++ b/services/collectionobject/client/src/test/resources/test-data/testCambridge.xml @@ -15,13 +15,6 @@ comments distFeatures numberOfObjects - objectName - objectNameCurrency - XXX - objectNameNote - objectNameSystem - objectNameType - objectNameLanguage - + @@ -59,13 +46,7 @@ - - - - - - - + @@ -251,6 +232,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 eb74db3c7..8eaac9725 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 @@ -431,7 +431,7 @@ public class AuthenticationServiceTest extends AbstractServiceTestImpl { private MultipartOutput createCollectionObjectInstance( String commonPartName, String identifier) { return createCollectionObjectInstance(commonPartName, "objectNumber-" - + identifier, "objectName-" + identifier); + + identifier, "title-" + identifier); } /** @@ -439,16 +439,16 @@ public class AuthenticationServiceTest extends AbstractServiceTestImpl { * * @param commonPartName the common part name * @param objectNumber the object number - * @param objectName the object name + * @param title the object title * * @return the multipart output */ private MultipartOutput createCollectionObjectInstance( - String commonPartName, String objectNumber, String objectName) { + String commonPartName, String objectNumber, String title) { CollectionobjectsCommon collectionObject = new CollectionobjectsCommon(); collectionObject.setObjectNumber(objectNumber); - collectionObject.setObjectName(objectName); + collectionObject.setTitle(title); MultipartOutput multipart = CollectionObjectFactory.createCollectionObjectInstance( commonPartName, collectionObject, null, null); -- 2.47.3