]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-2136: Updated Loans In (aka Loan In) schema at the services layer to the Limit...
authorAron Roberts <aron@socrates.berkeley.edu>
Wed, 16 Jun 2010 04:39:47 +0000 (04:39 +0000)
committerAron Roberts <aron@socrates.berkeley.edu>
Wed, 16 Jun 2010 04:39:47 +0000 (04:39 +0000)
services/common/src/main/config/services/tenant-bindings.xml
services/loanin/3rdparty/nuxeo-platform-cs-loanin/src/main/resources/schemas/loansin_common.xsd
services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninAuthRefsTest.java
services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninServiceTest.java
services/loanin/jaxb/src/main/resources/loansin-common.xsd

index 08708861383241ba729bd9b8344d20c72a2e1541..57aa34d800d921edac75a8a5049e4dd668fe8513 100644 (file)
                               versionable="true" auditable="false"
                               label="loansin_common" updated="" order="1">
                     <service:properties>
-                        <!-- Need to handle repeating ref fields, like "lenders" -->
+                        <types:item><types:key>authRef</types:key><types:value>lender</types:value></types:item>
                         <types:item><types:key>authRef</types:key><types:value>lendersAuthorizer</types:value></types:item>
                         <types:item><types:key>authRef</types:key><types:value>lendersContact</types:value></types:item>
                         <types:item><types:key>authRef</types:key><types:value>loanInContact</types:value></types:item>
                               versionable="true" auditable="false"
                               label="loansin_common" updated="" order="1">
                     <service:properties>
-                        <!-- Need to handle repeating ref fields, like "lenders" -->
+                        <types:item><types:key>authRef</types:key><types:value>lender</types:value></types:item>
                         <types:item><types:key>authRef</types:key><types:value>lendersAuthorizer</types:value></types:item>
                         <types:item><types:key>authRef</types:key><types:value>lendersContact</types:value></types:item>
                         <types:item><types:key>authRef</types:key><types:value>loanInContact</types:value></types:item>
index fe0cdb1cfa3099e8007c2dd4bc8e6e9b471cb4f1..c3bfb213ece766ad7b4aab4ce4b5bc9a63bd1ec3 100644 (file)
 \r
     <!--  Loan In Information Group -->\r
     <xs:element name="loanInNumber" type="xs:string"/>\r
-    <xs:element name="lenders">\r
-        <xs:complexType>\r
-            <xs:sequence>\r
-                <xs:element name="lender" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
-            </xs:sequence>\r
-        </xs:complexType>\r
-    </xs:element>\r
+    <xs:element name="lender" type="xs:string"/>\r
     <xs:element name="lendersAuthorizer" type="xs:string"/>\r
     <xs:element name="lendersAuthorizationDate" type="xs:string"/>\r
     <xs:element name="lendersContact" type="xs:string"/>\r
index 6845b0537ec91f3b69e43680558181ec3e72a219..e51422ae03fb4ab754ea21aea12b3533faaf4c8d 100644 (file)
@@ -72,12 +72,13 @@ public class LoaninAuthRefsTest extends BaseServiceTest {
     private List<String> loaninIdsCreated = new ArrayList<String>();
     private List<String> personIdsCreated = new ArrayList<String>();
     private String personAuthCSID = null;
+    private String lenderRefName = null;
     private String lendersAuthorizerRefName = null;
     private String lendersContactRefName = null;
     private String loanInContactRefName = null;
     // FIXME: May change when repeatable / multivalue 'lenders' field is added
     // to tenant-bindings.xml
-    private final int NUM_AUTH_REFS_EXPECTED = 3;
+    private final int NUM_AUTH_REFS_EXPECTED = 4;
 
     /* (non-Javadoc)
      * @see org.collectionspace.services.client.test.BaseServiceTest#getClientInstance()
@@ -122,6 +123,7 @@ public class LoaninAuthRefsTest extends BaseServiceTest {
         MultipartOutput multipart = createLoaninInstance(
                 "loanInNumber-" + identifier,
                 "returnDate-" + identifier,
+                lenderRefName,
                 lendersAuthorizerRefName,
                 lendersContactRefName,
                 loanInContactRefName);
@@ -177,6 +179,10 @@ public class LoaninAuthRefsTest extends BaseServiceTest {
 
         // Create temporary Person resources, and their corresponding refNames
         // by which they can be identified.
+        lenderRefName =
+            PersonAuthorityClientUtils.createPersonRefName(authRefName, "Linus Lender", true);
+        personIdsCreated.add(createPerson("Linus", "Lender", lenderRefName));
+
         lendersAuthorizerRefName =
             PersonAuthorityClientUtils.createPersonRefName(authRefName, "Art Lendersauthorizor", true);
         personIdsCreated.add(createPerson("Art", "Lendersauthorizor", lendersAuthorizerRefName));
@@ -245,7 +251,7 @@ public class LoaninAuthRefsTest extends BaseServiceTest {
             logger.debug(objectAsXmlString(loanin, LoansinCommon.class));
         }
         // Check a couple of fields
-        // FIXME
+        Assert.assertEquals(loanin.getLender(), lenderRefName);
         Assert.assertEquals(loanin.getLendersAuthorizer(), lendersAuthorizerRefName);
         Assert.assertEquals(loanin.getLendersContact(), lendersContactRefName);
         Assert.assertEquals(loanin.getLoanInContact(), loanInContactRefName);
@@ -269,9 +275,6 @@ public class LoaninAuthRefsTest extends BaseServiceTest {
             logger.debug("Expected " + NUM_AUTH_REFS_EXPECTED +
                 " authority references, found " + numAuthRefsFound);
         }
-        Assert.assertEquals(numAuthRefsFound, NUM_AUTH_REFS_EXPECTED,
-            "Did not find all expected authority references! " +
-            "Expected " + NUM_AUTH_REFS_EXPECTED + ", found " + numAuthRefsFound);
 
         // Optionally output additional data about list members for debugging.
         boolean iterateThroughList = true;
@@ -289,6 +292,11 @@ public class LoaninAuthRefsTest extends BaseServiceTest {
                 i++;
             }
         }
+
+        Assert.assertEquals(numAuthRefsFound, NUM_AUTH_REFS_EXPECTED,
+            "Did not find all expected authority references! " +
+            "Expected " + NUM_AUTH_REFS_EXPECTED + ", found " + numAuthRefsFound);
+
     }
 
 
@@ -351,12 +359,14 @@ public class LoaninAuthRefsTest extends BaseServiceTest {
 
    private MultipartOutput createLoaninInstance(String loaninNumber,
                String returnDate,
+                String lender,
                 String lendersAuthorizer,
                 String lendersContact,
                 String loaninContact) {
         LoansinCommon loanin = new LoansinCommon();
         loanin.setLoanInNumber(loaninNumber);
         loanin.setLoanInNumber(returnDate);
+        loanin.setLender(lender);
         loanin.setLendersAuthorizer(lendersAuthorizer);
         loanin.setLendersContact(lendersContact);
         loanin.setLoanInContact(loaninContact);
index 29fcb4a3b156413a43b879f3d2ab67a421b6d0b7..93d22ec174389c89ff03eb6d1ead960752ed3b6e 100644 (file)
@@ -32,7 +32,6 @@ import org.collectionspace.services.client.LoaninClient;
 import org.collectionspace.services.jaxb.AbstractCommonList;
 import org.collectionspace.services.loanin.LoansinCommon;
 import org.collectionspace.services.loanin.LoansinCommonList;
-import org.collectionspace.services.loanin.LenderList;
 
 import org.jboss.resteasy.client.ClientResponse;
 import org.jboss.resteasy.plugins.providers.multipart.MultipartInput;
@@ -774,12 +773,7 @@ public class LoaninServiceTest extends AbstractServiceTestImpl {
         LoansinCommon loanin = new LoansinCommon();
         loanin.setLoanInNumber(loaninNumber);
         loanin.setLoanReturnDate(returnDate);
-        LenderList lenderList = new LenderList();
-        lenderList.getLender().add(
-            "urn:cspace:org.collectionspace.demo:personauthority:name(TestPersonAuth):person:name(Harry Lender)'Harry Lender'");
-        lenderList.getLender().add(
-            "urn:cspace:org.collectionspace.demo:personauthority:name(TestPersonAuth):person:name(Sally Lender)'Sally Lender'");
-        loanin.setLenders(lenderList);
+        loanin.setLender("urn:cspace:org.collectionspace.demo:personauthority:name(TestPersonAuth):person:name(Harry Lender)'Harry Lender'");
         loanin.setLoanPurpose("For Surfboards of the 1960s exhibition.");
         MultipartOutput multipart = new MultipartOutput();
         OutputPart commonPart =
index 5cda4133368f6fa4ac64b4578ce7ae7a179948df..ae65cf10c99c372f34c14dab71efe5273b1e89b2 100644 (file)
@@ -33,7 +33,7 @@
             <xs:sequence>                
                 <!--  Loan In Information Group -->
                 <xs:element name="loanInNumber" type="xs:string"/>
-                <xs:element name="lenders" type="lenderList"/>
+                <xs:element name="lender" type="xs:string"/>
                 <xs:element name="lendersAuthorizer" type="xs:string"/>
                 <xs:element name="lendersAuthorizationDate" type="xs:string"/>
                 <xs:element name="lendersContact" type="xs:string"/>
             </xs:sequence>
         </xs:complexType>
     </xs:element>
-
-    <xs:complexType name="lenderList">
-        <xs:sequence>
-            <xs:element name="lender" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-    </xs:complexType>
     
     <!-- This is the base class for paginated lists -->
     <xs:complexType name="abstractCommonList">