]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-139 got schemae working for blob and media, all tests passing service layer.
authorLaramie Crocker <laramie@berkeley.edu>
Thu, 2 Dec 2010 21:56:24 +0000 (21:56 +0000)
committerLaramie Crocker <laramie@berkeley.edu>
Thu, 2 Dec 2010 21:56:24 +0000 (21:56 +0000)
14 files changed:
services/blob/3rdparty/nuxeo-platform-cs-blob/src/main/resources/schemas/blob_common.xsd
services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobAuthRefsTest.java
services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobServiceTest.java
services/blob/jaxb/src/main/java/org/collectionspace/services/BlobJAXBSchema.java
services/blob/jaxb/src/main/java/org/collectionspace/services/BlobListItemJAXBSchema.java
services/blob/jaxb/src/main/resources/blob_common.xsd
services/blob/pom.xml
services/blob/service/src/main/java/org/collectionspace/services/blob/nuxeo/BlobDocumentModelHandler.java
services/media/3rdparty/nuxeo-platform-cs-media/src/main/resources/schemas/media_common.xsd
services/media/client/src/test/java/org/collectionspace/services/client/test/MediaAuthRefsTest.java
services/media/client/src/test/java/org/collectionspace/services/client/test/MediaServiceTest.java
services/media/jaxb/src/main/java/org/collectionspace/services/MediaJAXBSchema.java
services/media/jaxb/src/main/resources/media_common.xsd
services/media/service/src/main/java/org/collectionspace/services/media/nuxeo/MediaDocumentModelHandler.java

index 18c953ca61f529abe4d98adf0881c498bd15860c..144ca2e812abf5737ddc292530435a876a736a53 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r
 \r
 <!--\r
-    Loan Out schema (XSD)\r
+    Blob schema (XSD)\r
     \r
     Entity  : Blob\r
     Part    : Common\r
     <!-- See http://wiki.collectionspace.org/display/collectionspace/Loans+Out+Schema -->\r
 \r
     <!--  Blob Information Group -->\r
-    <xs:element name="currentOwner" type="xs:string"/>\r
-    <xs:element name="depositor" type="xs:string"/>\r
-    <xs:element name="exitDate" type="xs:string"/>\r
-    <xs:element name="exitMethods">\r
-        <xs:complexType>\r
-            <xs:sequence>\r
-                <xs:element name="exitMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
-            </xs:sequence>\r
-        </xs:complexType>\r
-   </xs:element>\r
-    <xs:element name="exitNote" type="xs:string"/>\r
-    <xs:element name="exitNumber" type="xs:string"/>\r
-    <xs:element name="exitReason" type="xs:string"/>\r
-    <xs:element name="packingNote" type="xs:string"/>    \r
+    <xs:element name="encoding" type="xs:string" />\r
+    <xs:element name="mime-type" type="xs:string" />\r
+    <xs:element name="data" type="xs:string" />\r
+    <xs:element name="name" type="xs:string" />\r
+    <xs:element name="length" type="xs:string" />\r
+    <xs:element name="digest" type="xs:string" />\r
+    <xs:element name="uri" type="xs:string" />\r
 </xs:schema>\r
index ffd99b31fc634b2ed9925d2c77b62290ddfa5bd3..ebe3e38eecd663cd66297ef09497e2243d84b9af 100644 (file)
@@ -67,8 +67,7 @@ public class BlobAuthRefsTest extends BaseServiceTest {
     private List<String> personIdsCreated = new ArrayList<String>();
     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<Response> 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<AuthorityRefList> res2 = blobClient.getAuthorityRefs(knownResourceId);
index e1071bd4f7779e8f1ce86a6e71e7df0ec55a1937..bc22df0fb1c69b35ec0c0ef5007b64aaa4fcd62c 100644 (file)
@@ -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());
index 5f45f652dfbfeb2db2c3b40ba203661ac425b04e..71eab34b7cd639d647bd3268333cc89bfdb27c5b 100644 (file)
@@ -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";
 }
index 44f8abd3af64e6e5f4fcee0e1e884168a3f1ab07..5cf3c20eb59b2de7840ef5e6a5ddff183c91ec1c 100644 (file)
@@ -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";
 }
index 45b8efbbee55a1a056fe99cca8cdff3aab36dcd7..64775a89f12fff0611a18511f6944571f0dab595 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 
 <!--
-    Loan Out schema (XSD)
+    Blob schema (XSD)
     
     Entity  : Blob
     Part    : Common
     <xs:element name="blob_common">
         <xs:complexType>
             <xs:sequence>
-                <!--  Blob Information Group -->
-                <xs:element name="currentOwner" type="xs:string"/>
-                <xs:element name="depositor" type="xs:string"/>
-                <xs:element name="exitDate" type="xs:string"/>
-                <xs:element name="exitMethods" type="exitMethods"/>
-                <xs:element name="exitNote" type="xs:string"/>
-                <xs:element name="exitNumber" type="xs:string"/>
-                <xs:element name="exitReason" type="xs:string"/>
-                <xs:element name="packingNote" type="xs:string"/>
-            </xs:sequence>
+                <xs:element name="encoding" type="xs:string" />
+                <xs:element name="mime-type" type="xs:string" />
+                <xs:element name="data" type="xs:string" />
+                <xs:element name="name" type="xs:string" />
+                <xs:element name="length" type="xs:string" />
+                <xs:element name="digest" type="xs:string" />
+                <xs:element name="uri" type="xs:string" />
+          </xs:sequence>
         </xs:complexType>
     </xs:element>
     
-    <xs:complexType name="exitMethods">
-        <xs:sequence>
-            <xs:element name="exitMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-    </xs:complexType>
-
     <!-- This is the base class for paginated lists -->
     <xs:complexType name="abstractCommonList">
         <xs:annotation>
                         <xs:element name="blob_list_item" maxOccurs="unbounded">
                             <xs:complexType>
                                 <xs:sequence>
-                                    <xs:element name="exitNumber" type="xs:string"   minOccurs="1" />
-                                    <xs:element name="currentOwner" type="xs:string" minOccurs="1" />
-                                    <xs:element name="uri" type="xs:anyURI"          minOccurs="1" />
+                                    <xs:element name="name" type="xs:string"   minOccurs="1" />
+                                    <xs:element name="mime-type" type="xs:string" minOccurs="1" />
+                                    <xs:element name="encoding" type="xs:string" minOccurs="1" />
+                                    <xs:element name="length" type="xs:string" minOccurs="1" />
+                                    <xs:element name="uri" type="xs:string" />
                                     <xs:element name="csid" type="xs:string"         minOccurs="1" />
-                                    <!--
-                                    <xs:element name="depositor" type="xs:string"    minOccurs="1" />
-                                    <xs:element name="exitDate" type="xs:string"     minOccurs="1" />
-                                    <xs:element name="exitMethod" type="xs:string"   minOccurs="1" />
-                                    <xs:element name="exitNote" type="xs:string"     minOccurs="1" />
-                                    <xs:element name="exitReason" type="xs:string"   minOccurs="1" />
-                                    <xs:element name="packingNote" type="xs:string"  minOccurs="1" />
-                                    -->
                                 </xs:sequence>
                             </xs:complexType>
                         </xs:element>
index 029eb003ccf8da3b7909b6af611c4d29c2f1f75e..679c70e62b22be104b4912be46eeaa14fcd8d53a 100644 (file)
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- A comment. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>org.collectionspace.services</groupId>
         <artifactId>org.collectionspace.services.main</artifactId>
+        <groupId>org.collectionspace.services</groupId>
         <version>1.1-SNAPSHOT</version>
     </parent>
     
-    <modelVersion>4.0.0</modelVersion>
     <groupId>org.collectionspace.services</groupId>
     <artifactId>org.collectionspace.services.blob</artifactId>
     <name>services.blob</name>
     <packaging>pom</packaging>
-
+    <url>http://www.collectionspace.org</url>
+    
     <modules>
         <module>jaxb</module>
         <module>service</module>
index e791ec2526cc0bc4efd720467276cc2cdb8eb542..94b335e40b3b6b35961f7b30ba9485e9fbe548c8 100644 (file)
@@ -131,22 +131,27 @@ public class BlobDocumentModelHandler
     public BlobCommonList extractCommonPartList(DocumentWrapper<DocumentModelList> 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<BlobCommonList.BlobListItem> list = coList.getBlobListItem();
         Iterator<DocumentModel> 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;
index ff5ac83540ed9885ba818f95e50e992c0a870e30..004c53e4ef59bc98c93e966d4b3e80de67417d5c 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r
 \r
 <!--\r
-    Loan Out schema (XSD)\r
+    Media schema (XSD)\r
     \r
     Entity  : Media\r
     Part    : Common\r
     targetNamespace="http://collectionspace.org/media/"\r
     version="0.1">\r
     \r
-    <!-- See http://wiki.collectionspace.org/display/collectionspace/Loans+Out+Schema -->\r
+    <!-- See http://wiki.collectionspace.org/display/collectionspace/Media+Handling+Schema -->\r
 \r
     <!--  Media Information Group -->\r
-    <xs:element name="currentOwner" type="xs:string"/>\r
-    <xs:element name="depositor" type="xs:string"/>\r
-    <xs:element name="exitDate" type="xs:string"/>\r
-    <xs:element name="exitMethods">\r
+\r
+    <xs:element name="contributor" type="xs:string"/>\r
+    <xs:element name="copyrightStatement" type="xs:string"/>\r
+    <xs:element name="coverage" type="xs:string"/>\r
+    <xs:element name="creator" type="xs:string"/>\r
+    <xs:element name="dates">\r
+        <xs:complexType>\r
+            <xs:sequence>\r
+                <xs:element name="date" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+            </xs:sequence>\r
+        </xs:complexType>\r
+    </xs:element>\r
+    <xs:element name="dateCreated" type="xs:string"/>\r
+    <xs:element name="dateModified" type="xs:string"/>\r
+    <xs:element name="description" type="xs:string"/>\r
+    <xs:element name="dimensions">\r
+        <xs:complexType>\r
+            <xs:sequence>\r
+                <xs:element name="dimension" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+            </xs:sequence>\r
+        </xs:complexType>\r
+    </xs:element>\r
+    <xs:element name="filename" type="xs:string"/>\r
+    <xs:element name="format" type="xs:string"/>\r
+    <xs:element name="identificationNumber" type="xs:string"/>\r
+    <xs:element name="languages">\r
         <xs:complexType>\r
             <xs:sequence>\r
-                <xs:element name="exitMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+                <xs:element name="language" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
-   </xs:element>\r
-    <xs:element name="exitNote" type="xs:string"/>\r
-    <xs:element name="exitNumber" type="xs:string"/>\r
-    <xs:element name="exitReason" type="xs:string"/>\r
-    <xs:element name="packingNote" type="xs:string"/>    \r
+    </xs:element>\r
+    <xs:element name="location" type="xs:string"/>\r
+    <xs:element name="publisher" type="xs:string"/>\r
+    <xs:element name="relation" type="xs:string"/>\r
+    <xs:element name="rightsHolder" type="xs:string"/>\r
+    <xs:element name="source" type="xs:string"/>\r
+    <xs:element name="subjects">\r
+        <xs:complexType>\r
+            <xs:sequence>\r
+                <xs:element name="subject" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
+            </xs:sequence>\r
+        </xs:complexType>\r
+    </xs:element>\r
+    <xs:element name="title" type="xs:string"/>\r
+    <xs:element name="type" type="xs:string"/>\r
+    <xs:element name="uri" type="xs:string" />\r
+\r
 </xs:schema>\r
index 25b2275197bef665a970096330cb8bec314d8d44..76768956ee212eec78d896f886564e4b6190f0a9 100644 (file)
@@ -67,8 +67,7 @@ public class MediaAuthRefsTest extends BaseServiceTest {
     private List<String> personIdsCreated = new ArrayList<String>();
     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<Response> 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<AuthorityRefList> res2 = mediaClient.getAuthorityRefs(knownResourceId);
index cfbb9815baa76a1c74d89b07623aba1dbfd39847..93dc38a140375523f3b1c2b707491ccc7e162754 100644 (file)
@@ -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());
index 0585581748d360e0c2082e7e58c5e16f6b0b059b..a982ef65fedc7b541d36066823945728bb4e2cc7 100644 (file)
@@ -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";
 }
index 599d340335fd3899883c85391b981d6b9a117ee8..124f3ee8c0ecd3a0d8042686806dd6792547e50b 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 
 <!--
-    Loan Out schema (XSD)
+    Media schema (XSD)
     
     Entity  : Media
     Part    : Common
         <xs:complexType>
             <xs:sequence>
                 <!--  Media Information Group -->
-                <xs:element name="currentOwner" type="xs:string"/>
-                <xs:element name="depositor" type="xs:string"/>
-                <xs:element name="exitDate" type="xs:string"/>
-                <xs:element name="exitMethods" type="exitMethods"/>
-                <xs:element name="exitNote" type="xs:string"/>
-                <xs:element name="exitNumber" type="xs:string"/>
-                <xs:element name="exitReason" type="xs:string"/>
-                <xs:element name="packingNote" type="xs:string"/>
+                <xs:element name="contributor" type="xs:string"/>
+                <xs:element name="copyrightStatement" type="xs:string"/>
+                <xs:element name="coverage" type="xs:string"/>
+                <xs:element name="creator" type="xs:string"/>
+                <xs:element name="dates" type="dates"/>
+                <xs:element name="dateCreated" type="xs:string"/>
+                <xs:element name="dateModified" type="xs:string"/>
+                <xs:element name="description" type="xs:string"/>
+                <xs:element name="dimensions" type="dimensions"/>
+                <xs:element name="filename" type="xs:string"/>
+                <xs:element name="format" type="xs:string"/>
+                <xs:element name="identificationNumber" type="xs:string"/>
+                <xs:element name="languages" type="languages"/>
+                <xs:element name="location" type="xs:string"/>
+                <xs:element name="publisher" type="xs:string"/>
+                <xs:element name="relation" type="xs:string"/>
+                <xs:element name="rightsHolder" type="xs:string"/>
+                <xs:element name="source" type="xs:string"/>
+                <xs:element name="subjects" type="subjects"/>
+                <xs:element name="title" type="xs:string"/>
+                <xs:element name="type" type="xs:string"/>
+                <xs:element name="uri" type="xs:string" />
             </xs:sequence>
         </xs:complexType>
     </xs:element>
-    
-    <xs:complexType name="exitMethods">
+
+    <xs:complexType name="dates">
+        <xs:sequence>
+            <xs:element name="date" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="dimensions">
+        <xs:sequence>
+            <xs:element name="dimension" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="languages">
+        <xs:sequence>
+            <xs:element name="language" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="relations">
+        <xs:sequence>
+            <xs:element name="relation" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="subjects">
         <xs:sequence>
-            <xs:element name="exitMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element name="subject" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
 
                         <xs:element name="media_list_item" maxOccurs="unbounded">
                             <xs:complexType>
                                 <xs:sequence>
-                                    <xs:element name="exitNumber" type="xs:string"   minOccurs="1" />
-                                    <xs:element name="currentOwner" type="xs:string" minOccurs="1" />
-                                    <xs:element name="uri" type="xs:anyURI"          minOccurs="1" />
+                                    <xs:element name="title" type="xs:string"   minOccurs="1" />
+                                    <xs:element name="source" type="xs:string" minOccurs="1" />
+                                    <xs:element name="filename" type="xs:anyURI"          minOccurs="1" />
+                                    <xs:element name="identificationNumber" type="xs:anyURI"          minOccurs="1" />
+                                    <xs:element name="dimension" type="xs:anyURI"          minOccurs="1" />
+                                    <xs:element name="uri" type="xs:string" />
                                     <xs:element name="csid" type="xs:string"         minOccurs="1" />
-                                    <!--
-                                    <xs:element name="depositor" type="xs:string"    minOccurs="1" />
-                                    <xs:element name="exitDate" type="xs:string"     minOccurs="1" />
-                                    <xs:element name="exitMethod" type="xs:string"   minOccurs="1" />
-                                    <xs:element name="exitNote" type="xs:string"     minOccurs="1" />
-                                    <xs:element name="exitReason" type="xs:string"   minOccurs="1" />
-                                    <xs:element name="packingNote" type="xs:string"  minOccurs="1" />
-                                    -->
                                 </xs:sequence>
                             </xs:complexType>
                         </xs:element>
index 26ed8e15b07082fca79d5a944201c2986e7e2448..e089455e65246010e013b3d3f1c2693d12213520 100644 (file)
@@ -137,16 +137,19 @@ public class MediaDocumentModelHandler
         Iterator<DocumentModel> 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;