From aa451b5299dad279fd7f1de876528dfeb4861df3 Mon Sep 17 00:00:00 2001 From: Aron Roberts Date: Tue, 23 Feb 2010 05:34:53 +0000 Subject: [PATCH] CSPACE-1043: Contact schema changed to conform to latest 'Limited for Release 0.4 and 0.5' Contact Information Schema on the project wiki, plus a Notes field requested for PAHMA. --- .../resources/OSGI-INF/layouts-contrib.xml | 73 +++++++++++++++---- .../resources/schemas/contacts_common.xsd | 36 ++------- .../services/client/ContactClientUtils.java | 26 +++---- .../client/test/ContactServiceTest.java | 11 +-- .../services/contact/ContactJAXBSchema.java | 23 ++---- .../contact/ContactListItemJAXBSchema.java | 5 +- .../src/main/resources/contacts-common.xsd | 40 ++-------- .../nuxeo/ContactDocumentModelHandler.java | 6 +- 8 files changed, 97 insertions(+), 123 deletions(-) diff --git a/services/contact/3rdparty/nuxeo-platform-cs-contact/src/main/resources/OSGI-INF/layouts-contrib.xml b/services/contact/3rdparty/nuxeo-platform-cs-contact/src/main/resources/OSGI-INF/layouts-contrib.xml index ae32eb0e5..5f31f0f17 100644 --- a/services/contact/3rdparty/nuxeo-platform-cs-contact/src/main/resources/OSGI-INF/layouts-contrib.xml +++ b/services/contact/3rdparty/nuxeo-platform-cs-contact/src/main/resources/OSGI-INF/layouts-contrib.xml @@ -6,48 +6,91 @@ point="layouts"> + - addressType1 - addressText1 - postcode + addressType + addressPlace + email + telephoneNumber + faxNumber + notes - - + + + + + + true + + addressType + + + dataInputText + + + + + + + + true + + addressPlace + + + dataInputText + + + + - + true - addressText1 + email dataInputText - - + + - + true - postcode + telephoneNumber dataInputText - - + + + + + + true + + faxNumber + + + dataInputText + + + + - + true - addressType1 + notes dataInputText diff --git a/services/contact/3rdparty/nuxeo-platform-cs-contact/src/main/resources/schemas/contacts_common.xsd b/services/contact/3rdparty/nuxeo-platform-cs-contact/src/main/resources/schemas/contacts_common.xsd index 1addb001f..a52400b11 100644 --- a/services/contact/3rdparty/nuxeo-platform-cs-contact/src/main/resources/schemas/contacts_common.xsd +++ b/services/contact/3rdparty/nuxeo-platform-cs-contact/src/main/resources/schemas/contacts_common.xsd @@ -17,41 +17,15 @@ xmlns="http://collectionspace.org/contact/" targetNamespace="http://collectionspace.org/contact/" version="0.1"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/services/contact/client/src/main/java/org/collectionspace/services/client/ContactClientUtils.java b/services/contact/client/src/main/java/org/collectionspace/services/client/ContactClientUtils.java index 30c2d3182..01a6755b1 100644 --- a/services/contact/client/src/main/java/org/collectionspace/services/client/ContactClientUtils.java +++ b/services/contact/client/src/main/java/org/collectionspace/services/client/ContactClientUtils.java @@ -16,14 +16,14 @@ public class ContactClientUtils { LoggerFactory.getLogger(ContactClientUtils.class); public static MultipartOutput createContactInstance(String identifier, String headerLabel) { - String inAuthority = ""; - String inItem = ""; + final String inAuthority = ""; + final String inItem = ""; return createContactInstance( inAuthority, inItem, - "addressText1-" + identifier, - "postcode-" + identifier, - "addressType1-" + identifier, + "addressType-" + identifier, + "addressPlace-" + identifier, + "emakl-" + identifier, headerLabel); } @@ -32,21 +32,21 @@ public class ContactClientUtils { return createContactInstance( inAuthority, inItem, - "addressText1-" + identifier, - "postcode-" + identifier, - "addressType1-" + identifier, + "addressType-" + identifier, + "addressPlace-" + identifier, + "emakl-" + identifier, headerLabel); } public static MultipartOutput createContactInstance( - String inAuthority, String inItem, String addressText, - String postcode, String addressType, String headerLabel) { + String inAuthority, String inItem, String addressType, + String addressPlace, String email, String headerLabel) { ContactsCommon contact = new ContactsCommon(); contact.setInAuthority(inAuthority); contact.setInItem(inItem); - contact.setAddressText1(addressText); - contact.setPostcode1(postcode); - contact.setAddressType1(addressType); + contact.setAddressType(addressType); + contact.setAddressPlace(addressPlace); + contact.setEmail(email); MultipartOutput multipart = new MultipartOutput(); OutputPart commonPart = multipart.addPart(contact, MediaType.APPLICATION_XML_TYPE); diff --git a/services/contact/client/src/test/java/org/collectionspace/services/client/test/ContactServiceTest.java b/services/contact/client/src/test/java/org/collectionspace/services/client/test/ContactServiceTest.java index 91b5e6fa2..17ab7ffc8 100644 --- a/services/contact/client/src/test/java/org/collectionspace/services/client/test/ContactServiceTest.java +++ b/services/contact/client/src/test/java/org/collectionspace/services/client/test/ContactServiceTest.java @@ -305,7 +305,7 @@ public class ContactServiceTest extends AbstractServiceTestImpl { logger.debug(testName + ": list-item[" + i + "] csid=" + item.getCsid()); logger.debug(testName + ": list-item[" + i + "] objectNumber=" + - item.getAddressText1()); + item.getAddressPlace()); logger.debug(testName + ": list-item[" + i + "] URI=" + item.getUri()); i++; @@ -344,8 +344,9 @@ public class ContactServiceTest extends AbstractServiceTestImpl { Assert.assertNotNull(contact); // Update the content of this resource. - contact.setAddressText1("updated-" + contact.getAddressText1()); - contact.setPostcode1("updated-" + contact.getPostcode1()); + contact.setAddressType("updated-" + contact.getAddressType()); + contact.setAddressPlace("updated-" + contact.getAddressPlace()); + contact.setEmail("updated-" + contact.getEmail()); if(logger.isDebugEnabled()){ logger.debug("to be updated object"); logger.debug(objectAsXmlString(contact, ContactsCommon.class)); @@ -372,8 +373,8 @@ public class ContactServiceTest extends AbstractServiceTestImpl { client.getCommonPartName(), ContactsCommon.class); Assert.assertNotNull(updatedContact); - Assert.assertEquals(updatedContact.getPostcode1(), - contact.getPostcode1(), + Assert.assertEquals(updatedContact.getEmail(), + contact.getEmail(), "Data in updated object did not match submitted data."); } diff --git a/services/contact/jaxb/src/main/java/org/collectionspace/services/contact/ContactJAXBSchema.java b/services/contact/jaxb/src/main/java/org/collectionspace/services/contact/ContactJAXBSchema.java index 6af5c448d..c9ad9a449 100644 --- a/services/contact/jaxb/src/main/java/org/collectionspace/services/contact/ContactJAXBSchema.java +++ b/services/contact/jaxb/src/main/java/org/collectionspace/services/contact/ContactJAXBSchema.java @@ -11,24 +11,11 @@ public interface ContactJAXBSchema { final static String CSID = "csid"; final static String IN_AUTHORITY = "inAuthority"; final static String IN_ITEM ="inItem"; - final static String ADDRESS_TYPE1 = "addressType1"; - final static String ADDRESS_TYPE2 = "addressType2"; - final static String ADDRESS_TYPE3 = "addressType3"; - final static String ADDRESS_TEXT1 = "addressText1"; - final static String ADDRESS_TEXT2 = "addressText2"; - final static String ADDRESS_TEXT3 = "addressText3"; - final static String POSTCODE1 = "postcode1"; - final static String POSTCODE2 = "postcode2"; - final static String POSTCODE3 = "postcode3"; - final static String EMAIL1 = "email1"; - final static String EMAIL2 = "email2"; - final static String EMAIL3 = "email3"; - final static String TELEPHONE_NUMBER1 = "telephoneNumber1"; - final static String TELEPHONE_NUMBER2 = "telephoneNumber2"; - final static String TELEPHONE_NUMBER3 = "telephoneNumber3"; - final static String FAX_NUMBER1 = "faxNumber1"; - final static String FAX_NUMBER2 = "faxNumber2"; - final static String FAX_NUMBER3 = "faxNumber3"; + final static String ADDRESS_TYPE = "addressType"; + final static String ADDRESS_PLACE = "addressPlace"; + final static String EMAIL = "email"; + final static String TELEPHONE_NUMBER = "telephoneNumber"; + final static String FAX_NUMBER = "faxNumber"; final static String NOTES = "notes"; } diff --git a/services/contact/jaxb/src/main/java/org/collectionspace/services/contact/ContactListItemJAXBSchema.java b/services/contact/jaxb/src/main/java/org/collectionspace/services/contact/ContactListItemJAXBSchema.java index 5b29dc035..535aa483d 100644 --- a/services/contact/jaxb/src/main/java/org/collectionspace/services/contact/ContactListItemJAXBSchema.java +++ b/services/contact/jaxb/src/main/java/org/collectionspace/services/contact/ContactListItemJAXBSchema.java @@ -1,10 +1,7 @@ package org.collectionspace.services.contact; public interface ContactListItemJAXBSchema { - // TODO Revisit which information unit(s) should be returned - // in each entry, in a list of contact information. - // Should this be addressText or some other unit(s)? - final static String ADDRESS_TEXT1 = "addressText1"; + final static String ADDRESS_PLACE = "addressPlace"; final static String CSID = "csid"; final static String URI = "url"; } diff --git a/services/contact/jaxb/src/main/resources/contacts-common.xsd b/services/contact/jaxb/src/main/resources/contacts-common.xsd index 1d1c312e3..dd669e7d1 100644 --- a/services/contact/jaxb/src/main/resources/contacts-common.xsd +++ b/services/contact/jaxb/src/main/resources/contacts-common.xsd @@ -25,45 +25,17 @@ --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + @@ -76,7 +48,7 @@ -