From 9aeb5eaa1e06c7cc058f36c662bf2c2ce87f491e Mon Sep 17 00:00:00 2001 From: Laramie Crocker Date: Thu, 2 Dec 2010 21:56:24 +0000 Subject: [PATCH] CSPACE-139 got schemae working for blob and media, all tests passing service layer. --- .../main/resources/schemas/blob_common.xsd | 23 ++---- .../client/test/BlobAuthRefsTest.java | 18 ++--- .../services/client/test/BlobServiceTest.java | 7 +- .../services/BlobJAXBSchema.java | 15 ++-- .../services/BlobListItemJAXBSchema.java | 8 +- .../jaxb/src/main/resources/blob_common.xsd | 42 ++++------ services/blob/pom.xml | 8 +- .../blob/nuxeo/BlobDocumentModelHandler.java | 23 +++--- .../main/resources/schemas/media_common.xsd | 58 +++++++++++--- .../client/test/MediaAuthRefsTest.java | 18 ++--- .../client/test/MediaServiceTest.java | 11 ++- .../services/MediaJAXBSchema.java | 31 +++++--- .../jaxb/src/main/resources/media_common.xsd | 79 +++++++++++++------ .../nuxeo/MediaDocumentModelHandler.java | 17 ++-- 14 files changed, 207 insertions(+), 151 deletions(-) diff --git a/services/blob/3rdparty/nuxeo-platform-cs-blob/src/main/resources/schemas/blob_common.xsd b/services/blob/3rdparty/nuxeo-platform-cs-blob/src/main/resources/schemas/blob_common.xsd index 18c953ca6..144ca2e81 100644 --- a/services/blob/3rdparty/nuxeo-platform-cs-blob/src/main/resources/schemas/blob_common.xsd +++ b/services/blob/3rdparty/nuxeo-platform-cs-blob/src/main/resources/schemas/blob_common.xsd @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - + + + + + + + diff --git a/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobAuthRefsTest.java b/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobAuthRefsTest.java index ffd99b31f..ebe3e38ee 100644 --- a/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobAuthRefsTest.java +++ b/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobAuthRefsTest.java @@ -67,8 +67,7 @@ public class BlobAuthRefsTest extends BaseServiceTest { private List personIdsCreated = new ArrayList(); private String personAuthCSID = null; private String depositorRefName = null; - private String exitDate = null; - private String exitNumber = null; + private String blobName = null; @Override protected CollectionSpaceClient getClientInstance() { @@ -85,14 +84,11 @@ public class BlobAuthRefsTest extends BaseServiceTest { return SERVICE_PATH_COMPONENT; } - private MultipartOutput createBlobInstance(String depositorRefName, String exitNumber, String exitDate) { - this.exitDate = exitDate; - this.exitNumber = exitNumber; + private MultipartOutput createBlobInstance(String depositorRefName) { this.depositorRefName = depositorRefName; + this.blobName = "testblob-"+createIdentifier(); BlobCommon blob = new BlobCommon(); - blob.setDepositor(depositorRefName); - blob.setExitNumber(exitNumber); - blob.setExitDate(exitDate); + blob.setName(this.blobName); MultipartOutput multipart = new MultipartOutput(); OutputPart commonPart = multipart.addPart(blob, MediaType.APPLICATION_XML_TYPE); @@ -110,7 +106,7 @@ public class BlobAuthRefsTest extends BaseServiceTest { // Create a new Loans In resource. One or more fields in this resource will be PersonAuthority // references, and will refer to Person resources by their refNames. BlobClient blobClient = new BlobClient(); - MultipartOutput multipart = createBlobInstance(depositorRefName, "exitNumber-" + identifier, "exitDate-" + identifier); + MultipartOutput multipart = createBlobInstance(depositorRefName); ClientResponse res = blobClient.create(multipart); assertStatusCode(res, testName); if (knownResourceId == null) {// Store the ID returned from the first resource created for additional tests below. @@ -170,9 +166,7 @@ public class BlobAuthRefsTest extends BaseServiceTest { logger.debug(objectAsXmlString(blob, BlobCommon.class)); // Check a couple of fields - Assert.assertEquals(blob.getDepositor(), depositorRefName); - Assert.assertEquals(blob.getExitDate(), exitDate); - Assert.assertEquals(blob.getExitNumber(), exitNumber); + Assert.assertEquals(blob.getName(), blobName); // Get the auth refs and check them ClientResponse res2 = blobClient.getAuthorityRefs(knownResourceId); diff --git a/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobServiceTest.java b/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobServiceTest.java index e1071bd4f..bc22df0fb 100644 --- a/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobServiceTest.java +++ b/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobServiceTest.java @@ -117,7 +117,7 @@ public class BlobServiceTest extends AbstractServiceTestImpl { int i = 0; for (BlobCommonList.BlobListItem item : items) { logger.debug(testName + ": list-item[" + i + "] csid=" + item.getCsid()); - logger.debug(testName + ": list-item[" + i + "] blobNumber=" + item.getExitNumber()); + logger.debug(testName + ": list-item[" + i + "] blob.name=" + item.getName()); logger.debug(testName + ": list-item[" + i + "] URI=" + item.getUri()); i++; } @@ -137,7 +137,7 @@ public class BlobServiceTest extends AbstractServiceTestImpl { BlobCommon blob = (BlobCommon) extractPart(input, client.getCommonPartName(), BlobCommon.class); Assert.assertNotNull(blob); - blob.setExitNumber("updated-" + blob.getExitNumber()); + blob.setName("updated-" + blob.getName()); logger.debug("Object to be updated:"+objectAsXmlString(blob, BlobCommon.class)); MultipartOutput output = new MultipartOutput(); OutputPart commonPart = output.addPart(blob, MediaType.APPLICATION_XML_TYPE); @@ -252,8 +252,7 @@ public class BlobServiceTest extends AbstractServiceTestImpl { private MultipartOutput createBlobInstance(String exitNumber) { String identifier = "blobNumber-" + exitNumber; BlobCommon blob = new BlobCommon(); - blob.setExitNumber(identifier); - blob.setDepositor("urn:cspace:org.collectionspace.demo:orgauthority:name(TestOrgAuth):organization:name(Northern Climes Museum)'Northern Climes Museum'"); + blob.setName(identifier); MultipartOutput multipart = new MultipartOutput(); OutputPart commonPart = multipart.addPart(blob, MediaType.APPLICATION_XML_TYPE); commonPart.getHeaders().add("label", new BlobClient().getCommonPartName()); diff --git a/services/blob/jaxb/src/main/java/org/collectionspace/services/BlobJAXBSchema.java b/services/blob/jaxb/src/main/java/org/collectionspace/services/BlobJAXBSchema.java index 5f45f652d..71eab34b7 100644 --- a/services/blob/jaxb/src/main/java/org/collectionspace/services/BlobJAXBSchema.java +++ b/services/blob/jaxb/src/main/java/org/collectionspace/services/BlobJAXBSchema.java @@ -4,13 +4,10 @@ package org.collectionspace.services; public interface BlobJAXBSchema { - final static String OBJECT_EXIT_CURRENT_OWNER = "currentOwner"; - final static String OBJECT_EXIT_DEPOSITOR = "depositor"; - final static String OBJECT_EXIT_DATE = "exitDate"; - final static String OBJECT_EXIT_METHODS = "exitMethods"; - final static String OBJECT_EXIT_METHOD = "exitMethod"; - final static String OBJECT_EXIT_NOTE = "exitNote"; - final static String OBJECT_EXIT_NUMBER = "exitNumber"; - final static String OBJECT_EXIT_REASON = "exitReason"; - final static String OBJECT_EXIT_PACKING_NOTE = "packingNote"; + final static String encoding = "encoding"; + final static String mimeType = "mime-type"; + final static String data = "data"; + final static String name = "name"; + final static String length = "length"; + final static String digest = "digest"; } diff --git a/services/blob/jaxb/src/main/java/org/collectionspace/services/BlobListItemJAXBSchema.java b/services/blob/jaxb/src/main/java/org/collectionspace/services/BlobListItemJAXBSchema.java index 44f8abd3a..5cf3c20eb 100644 --- a/services/blob/jaxb/src/main/java/org/collectionspace/services/BlobListItemJAXBSchema.java +++ b/services/blob/jaxb/src/main/java/org/collectionspace/services/BlobListItemJAXBSchema.java @@ -3,7 +3,13 @@ package org.collectionspace.services; public interface BlobListItemJAXBSchema { final static String OBJECT_EXIT_CURRENT_OWNER = "currentOwner"; final static String OBJECT_EXIT_NUMBER = "exitNumber"; - + + final static String name = "name"; + final static String mimeType = "mimeType"; + final static String encoding = "encoding"; + final static String length = "length"; + + final static String CSID = "csid"; final static String URI = "url"; } diff --git a/services/blob/jaxb/src/main/resources/blob_common.xsd b/services/blob/jaxb/src/main/resources/blob_common.xsd index 45b8efbbe..64775a89f 100644 --- a/services/blob/jaxb/src/main/resources/blob_common.xsd +++ b/services/blob/jaxb/src/main/resources/blob_common.xsd @@ -1,7 +1,7 @@ - - - - - - - - - + + + + + + + + - - - - - - @@ -68,18 +60,12 @@ - - - + + + + + - diff --git a/services/blob/pom.xml b/services/blob/pom.xml index 029eb003c..679c70e62 100644 --- a/services/blob/pom.xml +++ b/services/blob/pom.xml @@ -1,18 +1,18 @@ - + 4.0.0 - org.collectionspace.services org.collectionspace.services.main + org.collectionspace.services 1.1-SNAPSHOT - 4.0.0 org.collectionspace.services org.collectionspace.services.blob services.blob pom - + http://www.collectionspace.org + jaxb service diff --git a/services/blob/service/src/main/java/org/collectionspace/services/blob/nuxeo/BlobDocumentModelHandler.java b/services/blob/service/src/main/java/org/collectionspace/services/blob/nuxeo/BlobDocumentModelHandler.java index e791ec252..94b335e40 100644 --- a/services/blob/service/src/main/java/org/collectionspace/services/blob/nuxeo/BlobDocumentModelHandler.java +++ b/services/blob/service/src/main/java/org/collectionspace/services/blob/nuxeo/BlobDocumentModelHandler.java @@ -131,22 +131,27 @@ public class BlobDocumentModelHandler public BlobCommonList extractCommonPartList(DocumentWrapper wrapDoc) throws Exception { BlobCommonList coList = extractPagingInfo(new BlobCommonList(), wrapDoc); AbstractCommonList commonList = (AbstractCommonList) coList; - //CSPACE-3209 don't use all fields. commonList.setFieldsReturned("currentOwner|depositor|exitDate|exitMethod|exitNote|exitNumber|exitReason|packingNote|uri|csid"); - commonList.setFieldsReturned("exitNumber|currentOwner|uri|csid"); //CSPACE-3209 now do this + commonList.setFieldsReturned("name|mimeType|encoding|length|csid"); + + List list = coList.getBlobListItem(); Iterator iter = wrapDoc.getWrappedObject().iterator(); while(iter.hasNext()){ DocumentModel docModel = iter.next(); - BlobListItem ilistItem = new BlobListItem(); + BlobListItem item = new BlobListItem(); String label = getServiceContext().getCommonPartLabel(); - ilistItem.setExitNumber((String) docModel.getProperty(label, BlobJAXBSchema.OBJECT_EXIT_NUMBER)); - //CSPACE-3209 ilistItem.setExitDate((String) docModel.getProperty(label, BlobJAXBSchema.OBJECT_EXIT_DATE)); - ilistItem.setCurrentOwner((String) docModel.getProperty(label, BlobJAXBSchema.OBJECT_EXIT_CURRENT_OWNER)); //CSPACE-3209 + item.setEncoding((String) docModel.getProperty(label, BlobJAXBSchema.encoding)); + item.setMimeType((String) docModel.getProperty(label, BlobJAXBSchema.mimeType)); + String theData = (String) docModel.getProperty(label, BlobJAXBSchema.data); + item.setName((String) docModel.getProperty(label, BlobJAXBSchema.name)); + item.setLength((String) docModel.getProperty(label, BlobJAXBSchema.length)); + + String id = NuxeoUtils.extractId(docModel.getPathAsString()); - ilistItem.setUri(getServiceContextPath() + id); - ilistItem.setCsid(id); - list.add(ilistItem); + item.setUri(getServiceContextPath() + id); + item.setCsid(id); + list.add(item); } return coList; diff --git a/services/media/3rdparty/nuxeo-platform-cs-media/src/main/resources/schemas/media_common.xsd b/services/media/3rdparty/nuxeo-platform-cs-media/src/main/resources/schemas/media_common.xsd index ff5ac8354..004c53e4e 100644 --- a/services/media/3rdparty/nuxeo-platform-cs-media/src/main/resources/schemas/media_common.xsd +++ b/services/media/3rdparty/nuxeo-platform-cs-media/src/main/resources/schemas/media_common.xsd @@ -1,7 +1,7 @@ + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + + + + + + + + + + + + + diff --git a/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaAuthRefsTest.java b/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaAuthRefsTest.java index 25b227519..76768956e 100644 --- a/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaAuthRefsTest.java +++ b/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaAuthRefsTest.java @@ -67,8 +67,7 @@ public class MediaAuthRefsTest extends BaseServiceTest { private List personIdsCreated = new ArrayList(); private String personAuthCSID = null; private String depositorRefName = null; - private String exitDate = null; - private String exitNumber = null; + private String title = null; @Override protected CollectionSpaceClient getClientInstance() { @@ -85,14 +84,11 @@ public class MediaAuthRefsTest extends BaseServiceTest { return SERVICE_PATH_COMPONENT; } - private MultipartOutput createMediaInstance(String depositorRefName, String exitNumber, String exitDate) { - this.exitDate = exitDate; - this.exitNumber = exitNumber; + private MultipartOutput createMediaInstance(String depositorRefName, String title) { + this.title = title; this.depositorRefName = depositorRefName; MediaCommon media = new MediaCommon(); - media.setDepositor(depositorRefName); - media.setExitNumber(exitNumber); - media.setExitDate(exitDate); + media.setTitle(title); MultipartOutput multipart = new MultipartOutput(); OutputPart commonPart = multipart.addPart(media, MediaType.APPLICATION_XML_TYPE); @@ -110,7 +106,7 @@ public class MediaAuthRefsTest extends BaseServiceTest { // Create a new Loans In resource. One or more fields in this resource will be PersonAuthority // references, and will refer to Person resources by their refNames. MediaClient mediaClient = new MediaClient(); - MultipartOutput multipart = createMediaInstance(depositorRefName, "exitNumber-" + identifier, "exitDate-" + identifier); + MultipartOutput multipart = createMediaInstance(depositorRefName, "media.title-" + identifier); ClientResponse res = mediaClient.create(multipart); assertStatusCode(res, testName); if (knownResourceId == null) {// Store the ID returned from the first resource created for additional tests below. @@ -171,9 +167,7 @@ public class MediaAuthRefsTest extends BaseServiceTest { logger.debug(objectAsXmlString(media, MediaCommon.class)); // Check a couple of fields - Assert.assertEquals(media.getDepositor(), depositorRefName); - Assert.assertEquals(media.getExitDate(), exitDate); - Assert.assertEquals(media.getExitNumber(), exitNumber); + Assert.assertEquals(media.getTitle(), title); // Get the auth refs and check them ClientResponse res2 = mediaClient.getAuthorityRefs(knownResourceId); diff --git a/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaServiceTest.java b/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaServiceTest.java index cfbb9815b..93dc38a14 100644 --- a/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaServiceTest.java +++ b/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaServiceTest.java @@ -117,7 +117,7 @@ public class MediaServiceTest extends AbstractServiceTestImpl { int i = 0; for (MediaCommonList.MediaListItem item : items) { logger.debug(testName + ": list-item[" + i + "] csid=" + item.getCsid()); - logger.debug(testName + ": list-item[" + i + "] mediaNumber=" + item.getExitNumber()); + logger.debug(testName + ": list-item[" + i + "] media.title=" + item.getTitle()); logger.debug(testName + ": list-item[" + i + "] URI=" + item.getUri()); i++; } @@ -137,7 +137,7 @@ public class MediaServiceTest extends AbstractServiceTestImpl { MediaCommon media = (MediaCommon) extractPart(input, client.getCommonPartName(), MediaCommon.class); Assert.assertNotNull(media); - media.setExitNumber("updated-" + media.getExitNumber()); + media.setTitle("updated-" + media.getTitle()); logger.debug("Object to be updated:"+objectAsXmlString(media, MediaCommon.class)); MultipartOutput output = new MultipartOutput(); OutputPart commonPart = output.addPart(media, MediaType.APPLICATION_XML_TYPE); @@ -249,11 +249,10 @@ public class MediaServiceTest extends AbstractServiceTestImpl { return SERVICE_PATH_COMPONENT; } - private MultipartOutput createMediaInstance(String exitNumber) { - String identifier = "mediaNumber-" + exitNumber; + private MultipartOutput createMediaInstance(String title) { + String identifier = "media.title-" + title; MediaCommon media = new MediaCommon(); - media.setExitNumber(identifier); - media.setDepositor("urn:cspace:org.collectionspace.demo:orgauthority:name(TestOrgAuth):organization:name(Northern Climes Museum)'Northern Climes Museum'"); + media.setTitle(identifier); MultipartOutput multipart = new MultipartOutput(); OutputPart commonPart = multipart.addPart(media, MediaType.APPLICATION_XML_TYPE); commonPart.getHeaders().add("label", new MediaClient().getCommonPartName()); diff --git a/services/media/jaxb/src/main/java/org/collectionspace/services/MediaJAXBSchema.java b/services/media/jaxb/src/main/java/org/collectionspace/services/MediaJAXBSchema.java index 058558174..a982ef65f 100644 --- a/services/media/jaxb/src/main/java/org/collectionspace/services/MediaJAXBSchema.java +++ b/services/media/jaxb/src/main/java/org/collectionspace/services/MediaJAXBSchema.java @@ -4,13 +4,26 @@ package org.collectionspace.services; public interface MediaJAXBSchema { - final static String OBJECT_EXIT_CURRENT_OWNER = "currentOwner"; - final static String OBJECT_EXIT_DEPOSITOR = "depositor"; - final static String OBJECT_EXIT_DATE = "exitDate"; - final static String OBJECT_EXIT_METHODS = "exitMethods"; - final static String OBJECT_EXIT_METHOD = "exitMethod"; - final static String OBJECT_EXIT_NOTE = "exitNote"; - final static String OBJECT_EXIT_NUMBER = "exitNumber"; - final static String OBJECT_EXIT_REASON = "exitReason"; - final static String OBJECT_EXIT_PACKING_NOTE = "packingNote"; + final static String contributor = "contributor"; + final static String copyrightStatement = "copyrightStatement"; + final static String coverage = "coverage"; + final static String creator = "creator"; + final static String dates = "dates"; + final static String dateCreated = "dateCreated"; + final static String dateModified = "dateModified"; + final static String description = "description"; + final static String dimensions = "dimensions"; + final static String filename = "filename"; + final static String format = "format"; + final static String identificationNumber = "identificationNumber"; + final static String languages = "languages"; + final static String location = "location"; + final static String publisher = "publisher"; + final static String relation = "relation"; + final static String rightsHolder = "rightsHolder"; + final static String source = "source"; + final static String subjects = "subjects"; + final static String title = "title"; + final static String type = "type"; + final static String uri = "uri"; } diff --git a/services/media/jaxb/src/main/resources/media_common.xsd b/services/media/jaxb/src/main/resources/media_common.xsd index 599d34033..124f3ee8c 100644 --- a/services/media/jaxb/src/main/resources/media_common.xsd +++ b/services/media/jaxb/src/main/resources/media_common.xsd @@ -1,7 +1,7 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -68,18 +106,13 @@ - - - + + + + + + - diff --git a/services/media/service/src/main/java/org/collectionspace/services/media/nuxeo/MediaDocumentModelHandler.java b/services/media/service/src/main/java/org/collectionspace/services/media/nuxeo/MediaDocumentModelHandler.java index 26ed8e15b..e089455e6 100644 --- a/services/media/service/src/main/java/org/collectionspace/services/media/nuxeo/MediaDocumentModelHandler.java +++ b/services/media/service/src/main/java/org/collectionspace/services/media/nuxeo/MediaDocumentModelHandler.java @@ -137,16 +137,19 @@ public class MediaDocumentModelHandler Iterator iter = wrapDoc.getWrappedObject().iterator(); while(iter.hasNext()){ DocumentModel docModel = iter.next(); - MediaListItem ilistItem = new MediaListItem(); + MediaListItem item = new MediaListItem(); String label = getServiceContext().getCommonPartLabel(); - ilistItem.setExitNumber((String) docModel.getProperty(label, MediaJAXBSchema.OBJECT_EXIT_NUMBER)); - //CSPACE-3209 ilistItem.setExitDate((String) docModel.getProperty(label, MediaJAXBSchema.OBJECT_EXIT_DATE)); - ilistItem.setCurrentOwner((String) docModel.getProperty(label, MediaJAXBSchema.OBJECT_EXIT_CURRENT_OWNER)); //CSPACE-3209 + + item.setTitle((String) docModel.getProperty(label, MediaJAXBSchema.title)); + item.setSource((String) docModel.getProperty(label, MediaJAXBSchema.source)); + item.setFilename((String) docModel.getProperty(label, MediaJAXBSchema.filename)); + item.setIdentificationNumber((String) docModel.getProperty(label, MediaJAXBSchema.identificationNumber)); + String id = NuxeoUtils.extractId(docModel.getPathAsString()); - ilistItem.setUri(getServiceContextPath() + id); - ilistItem.setCsid(id); - list.add(ilistItem); + item.setUri(getServiceContextPath() + id); + item.setCsid(id); + list.add(item); } return coList; -- 2.47.3