]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
NOJIRA changed cardinality of the service object manifest in service binding. only...
authorSanjay Dalal <sanjay.dalal@berkeley.edu>
Mon, 21 Dec 2009 19:01:44 +0000 (19:01 +0000)
committerSanjay Dalal <sanjay.dalal@berkeley.edu>
Mon, 21 Dec 2009 19:01:44 +0000 (19:01 +0000)
test: service tests
require: deploy

services/common/src/main/config/tenant-bindings.xml
services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContext.java
services/common/src/main/resources/service.xsd

index c56a3805ed9dc01d29fbeffd0b3deae7bd9512fa..43eccf7a9340403fd9a9cf8397ecbf84824b32e7 100644 (file)
@@ -14,7 +14,7 @@
         <tenant:serviceBindings name="CollectionObjects" version="0.1">
             <!-- begin collectionobject service meta-data -->
             <service:repositoryClient xmlns:service='http://collectionspace.org/services/common/service'>nuxeo-java</service:repositoryClient>
-            <service:object id="1" name="CollectionObject" version="0.1"
+            <service:object name="CollectionObject" version="0.1"
             xmlns:service='http://collectionspace.org/services/common/service'>
                 <service:part id="0" control_group="Managed"
                             versionable="true" auditable="false"
@@ -52,7 +52,7 @@
         <!-- begin intake service meta-data -->
         <tenant:serviceBindings name="Intakes" version="0.1">
             <service:repositoryClient xmlns:service='http://collectionspace.org/services/common/service'>nuxeo-java</service:repositoryClient>
-            <service:object id="1" name="Intake" version="0.1"
+            <service:object name="Intake" version="0.1"
             xmlns:service='http://collectionspace.org/services/common/service'>
                 <service:part id="0" control_group="Managed"
                             versionable="true" auditable="false"
@@ -80,7 +80,7 @@
         <!-- begin vocabulary service meta-data -->
         <tenant:serviceBindings name="Vocabularies" version="0.1">
             <service:repositoryClient xmlns:service='http://collectionspace.org/services/common/service'>nuxeo-java</service:repositoryClient>
-            <service:object id="1" name="Vocabulary" version="0.1"
+            <service:object name="Vocabulary" version="0.1"
             xmlns:service='http://collectionspace.org/services/common/service'>
                 <service:part id="0" control_group="Managed"
                             versionable="true" auditable="false"
         -->
         <tenant:serviceBindings name="Vocabularyitems" version="0.1">
             <service:repositoryClient xmlns:service='http://collectionspace.org/services/common/service'>nuxeo-java</service:repositoryClient>
-            <service:object id="1" name="Vocabularyitem" version="0.1"
+            <service:object name="Vocabularyitem" version="0.1"
             xmlns:service='http://collectionspace.org/services/common/service'>
                 <service:part id="0" control_group="Managed"
                             versionable="true" auditable="false"
         <!-- begin acquisition service meta-data -->
         <tenant:serviceBindings name="Acquisitions" version="0.1">
             <service:repositoryClient xmlns:service='http://collectionspace.org/services/common/service'>nuxeo-java</service:repositoryClient>
-            <service:object id="1" name="Acquisition" version="0.1"
+            <service:object name="Acquisition" version="0.1"
             xmlns:service='http://collectionspace.org/services/common/service'>
                 <service:part id="0" control_group="Managed"
                             versionable="true" auditable="false"
         <!-- begin relation service meta-data -->
         <tenant:serviceBindings name="Relations" version="0.1">
             <service:repositoryClient xmlns:service='http://collectionspace.org/services/common/service'>nuxeo-java</service:repositoryClient>
-            <service:object id="1" name="Relation" version="0.1"
+            <service:object name="Relation" version="0.1"
             xmlns:service='http://collectionspace.org/services/common/service'>
                 <service:part id="0" control_group="Managed"
                             versionable="true" auditable="false"
         <!-- end relation service meta-data -->
         <!-- begin account service meta-data -->
         <tenant:serviceBindings name="Accounts" version="0.1">
-            <service:object id="1" name="Acccount" version="0.1"
+            <service:object name="Acccount" version="0.1"
             xmlns:service='http://collectionspace.org/services/common/service'>
                 <service:part id="0" control_group="Managed"
                             versionable="true" auditable="false"
         <!-- begin dimension service meta-data -->
         <tenant:serviceBindings name="Dimensions" version="0.1">
             <service:repositoryClient xmlns:service='http://collectionspace.org/services/common/service'>nuxeo-java</service:repositoryClient>
-            <service:object id="1" name="Dimension" version="0.1"
+            <service:object name="Dimension" version="0.1"
             xmlns:service='http://collectionspace.org/services/common/service'>
                 <service:part id="0" control_group="Managed"
                             versionable="true" auditable="false"
         <!-- begin contact service meta-data -->
         <tenant:serviceBindings name="Contacts" version="0.1">
             <service:repositoryClient xmlns:service='http://collectionspace.org/services/common/service'>nuxeo-java</service:repositoryClient>
-            <service:object id="1" name="Contact" version="0.1"
+            <service:object name="Contact" version="0.1"
             xmlns:service='http://collectionspace.org/services/common/service'>
                 <service:part id="0" control_group="Managed"
                             versionable="true" auditable="false"
index c0a4fc1c950a7765ecc83bd0aee289948cc36acb..bbe86d97375bcadf7050dc654a0d6824acb137e2 100644 (file)
@@ -73,8 +73,8 @@ public abstract class AbstractServiceContext<IT, OT>
         }
         tenantBinding = tReader.getTenantBinding(tenantId);
         if (tenantBinding == null) {
-            String msg = "No tenant binding found for tenantId=" + tenantId + 
-                    " while processing request for service= " + serviceName;
+            String msg = "No tenant binding found for tenantId=" + tenantId
+                    " while processing request for service= " + serviceName;
             logger.error(msg);
             throw new IllegalStateException(msg);
         }
@@ -115,12 +115,10 @@ public abstract class AbstractServiceContext<IT, OT>
             return objectPartMap;
         }
         ServiceBindingType serviceBinding = getServiceBinding();
-        List<ServiceObjectType> objectTypes = serviceBinding.getObject();
-        for (ServiceObjectType objectType : objectTypes) {
-            List<ObjectPartType> objectPartTypes = objectType.getPart();
-            for (ObjectPartType objectPartType : objectPartTypes) {
-                objectPartMap.put(objectPartType.getLabel(), objectPartType);
-            }
+        ServiceObjectType objectType = serviceBinding.getObject();
+        List<ObjectPartType> objectPartTypes = objectType.getPart();
+        for (ObjectPartType objectPartType : objectPartTypes) {
+            objectPartMap.put(objectPartType.getLabel(), objectPartType);
         }
         return objectPartMap;
     }
@@ -172,7 +170,7 @@ public abstract class AbstractServiceContext<IT, OT>
     public String getDocumentType() {
         // If they have not overridden the setting, use the type of the service
         // object.
-        return (overrideDocumentType != null) ? overrideDocumentType : serviceBinding.getObject().get(0).getName();
+        return (overrideDocumentType != null) ? overrideDocumentType : serviceBinding.getObject().getName();
     }
 
     @Override
index c87ab7c9fbe6e68c557e5605d65229beec3b5353..f08ff4175c610c9a07269825508948b78dea622a 100644 (file)
@@ -32,8 +32,8 @@
 
     <xs:complexType name="ServiceBindingType">
         <xs:sequence>
-            <!-- object(s) served by the service -->
-            <xs:element name="object" type="ServiceObjectType" minOccurs="1" maxOccurs="unbounded"/>
+            <!-- object representation served by the service -->
+            <xs:element name="object" type="ServiceObjectType" minOccurs="1" maxOccurs="1"/>
 
             <!-- name of the repository client (from service-config.xml) -->
             <xs:element name="repositoryClient" type="xs:string" minOccurs="0" maxOccurs="1"/>
@@ -60,7 +60,6 @@
             <!-- a handler Java class to process the content of this service -->
             <xs:element name="serviceHandler" type="xs:string" minOccurs="0" maxOccurs="1"/>
         </xs:sequence>
-        <xs:attribute name="id" type="xs:ID" use="required"/>
         <!-- the object name could be collectionobject|intake|location, etc. -->
         <xs:attribute name="name" type="xs:string" use="required"/>
         <xs:attribute name="version" type="types:VersionType" use="required"/>