]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-6937-A: Cleaning up Specifier references.
authorremillet <remillet@yahoo.com>
Tue, 19 Apr 2016 04:29:47 +0000 (21:29 -0700)
committerremillet <remillet@yahoo.com>
Tue, 19 Apr 2016 04:29:47 +0000 (21:29 -0700)
13 files changed:
services/JaxRsServiceProvider/deploy.out [new file with mode: 0644]
services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/AuthorityResource.java
services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/AuthorityServiceUtils.java
services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityDocumentModelHandler.java
services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java
services/client/src/main/resources/collectionspace-client.properties
services/common-api/src/main/java/org/collectionspace/services/common/api/RefNameUtils.java
services/common/src/main/java/org/collectionspace/services/common/NuxeoBasedResource.java
services/common/src/main/java/org/collectionspace/services/common/ResourceMap.java
services/common/src/main/java/org/collectionspace/services/common/context/MultipartServiceContextImpl.java
services/common/src/main/java/org/collectionspace/services/common/context/RemoteServiceContextImpl.java
services/common/src/main/java/org/collectionspace/services/common/context/ServiceContext.java
services/common/src/main/java/org/collectionspace/services/common/vocabulary/RefNameServiceUtils.java

diff --git a/services/JaxRsServiceProvider/deploy.out b/services/JaxRsServiceProvider/deploy.out
new file mode 100644 (file)
index 0000000..54a6363
--- /dev/null
@@ -0,0 +1,545 @@
+Buildfile: C:\dev\src\cspace\services\services\JaxRsServiceProvider\build.xml
+
+package-unix:
+
+package-windows:
+     [exec] Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 08:22:22-0700)
+     [exec] Maven home: C:\dev\tools\apache-maven-3.1.1
+     [exec] Java version: 1.7.0_67, vendor: Oracle Corporation
+     [exec] Java home: C:\dev\tools\jdk1.7.0_67\jre
+     [exec] Default locale: en_US, platform encoding: Cp1252
+     [exec] OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
+     [exec] [INFO] Scanning for projects...
+     [exec] [INFO]                                                                         
+     [exec] [INFO] ------------------------------------------------------------------------
+     [exec] [INFO] Building services.jaxrs.provider 4.4-SNAPSHOT
+     [exec] [INFO] ------------------------------------------------------------------------
+     [exec] [WARNING] The artifact wutka-dtdparser:dtdparser121:jar:1.2.1 has been relocated to com.wutka:dtdparser:jar:1.21
+     [exec] [WARNING] The artifact apache-xerces:xml-apis:jar:2.9.1 has been relocated to xml-apis:xml-apis:jar:1.3.04
+     [exec] [INFO] 
+     [exec] [INFO] --- maven-antrun-plugin:1.7:run (check-environment-vars) @ org.collectionspace.services.jaxrs.provider ---
+     [exec] [WARNING] Parameter tasks is deprecated, use target instead
+     [exec] [INFO] Executing tasks
+     [exec] 
+     [exec] main:
+     [exec] [INFO] Executed tasks
+     [exec] [INFO] 
+     [exec] [INFO] --- properties-maven-plugin:1.0-alpha-2:read-project-properties (default) @ org.collectionspace.services.jaxrs.provider ---
+     [exec] [INFO] 
+     [exec] [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ org.collectionspace.services.jaxrs.provider ---
+     [exec] [debug] execute contextualize
+     [exec] [INFO] Using 'UTF-8' encoding to copy filtered resources.
+     [exec] [INFO] Copying 3 resources
+     [exec] [INFO] Copying 1 resource
+     [exec] [INFO] 
+     [exec] [INFO] --- maven-resources-plugin:2.5:resources (default) @ org.collectionspace.services.jaxrs.provider ---
+     [exec] [debug] execute contextualize
+     [exec] [INFO] Using 'UTF-8' encoding to copy filtered resources.
+     [exec] [INFO] Copying 3 resources
+     [exec] [INFO] Copying 1 resource
+     [exec] [INFO] 
+     [exec] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ org.collectionspace.services.jaxrs.provider ---
+     [exec] [INFO] Nothing to compile - all classes are up to date
+     [exec] [INFO] 
+     [exec] [INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ org.collectionspace.services.jaxrs.provider ---
+     [exec] [debug] execute contextualize
+     [exec] [INFO] Using 'UTF-8' encoding to copy filtered resources.
+     [exec] [INFO] skip non existing resourceDirectory C:\dev\src\cspace\services\services\JaxRsServiceProvider\src\test\resources
+     [exec] [INFO] 
+     [exec] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ org.collectionspace.services.jaxrs.provider ---
+     [exec] [INFO] Not compiling test sources
+     [exec] [INFO] 
+     [exec] [INFO] --- maven-surefire-plugin:2.7.1:test (default-test) @ org.collectionspace.services.jaxrs.provider ---
+     [exec] [INFO] Tests are skipped.
+     [exec] [INFO] 
+     [exec] [INFO] --- maven-war-plugin:2.1.1:war (default-war) @ org.collectionspace.services.jaxrs.provider ---
+     [exec] [INFO] Packaging webapp
+     [exec] [INFO] Assembling webapp [org.collectionspace.services.jaxrs.provider] in [C:\dev\src\cspace\services\services\JaxRsServiceProvider\target\cspace-services]
+     [exec] [INFO] Processing war project
+     [exec] [INFO] Copying webapp webResources [C:\dev\src\cspace\services\services\JaxRsServiceProvider\src/main/webapp] to [C:\dev\src\cspace\services\services\JaxRsServiceProvider\target\cspace-services]
+     [exec] [INFO] Copying webapp resources [C:\dev\src\cspace\services\services\JaxRsServiceProvider\src\main\webapp]
+     [exec] [INFO] Webapp assembled in [7487 msecs]
+     [exec] [INFO] Building war: C:\dev\src\cspace\services\services\JaxRsServiceProvider\target\cspace-services.war
+     [exec] [WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored 
+     [exec] (webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true')
+     [exec] [INFO] ------------------------------------------------------------------------
+     [exec] [INFO] BUILD SUCCESS
+     [exec] [INFO] ------------------------------------------------------------------------
+     [exec] [INFO] Total time: 16.903s
+     [exec] [INFO] Finished at: Mon Apr 18 11:35:30 PDT 2016
+     [exec] [INFO] Final Memory: 55M/875M
+     [exec] [INFO] ------------------------------------------------------------------------
+
+package:
+
+deploy_services_artifacts:
+     [exec] 2016-04-18 11:35:33,317 WARN  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:412] Source file for "Include" tag could not be found: local-core-settings.xml
+     [exec] 2016-04-18 11:35:33,353 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-settings.xml_local-core-settings.xml-.xml
+     [exec] 2016-04-18 11:35:35,159 WARN  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:412] Source file for "Include" tag could not be found: local-core-settings.xml
+     [exec] 2016-04-18 11:35:35,165 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-settings.xml_local-core-settings.xml-.xml
+     [exec] 2016-04-18 11:35:35,602 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'userperm'
+     [exec] 2016-04-18 11:35:35,602 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.userperm' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,602 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'accountroles'
+     [exec] 2016-04-18 11:35:35,602 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.accountroles' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,603 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'users'
+     [exec] 2016-04-18 11:35:35,604 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='users' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.users.bindings.xml
+     [exec] 2016-04-18 11:35:35,605 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'concept'
+     [exec] 2016-04-18 11:35:35,610 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='concept' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.concept.bindings.xml
+     [exec] 2016-04-18 11:35:35,612 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Conceptauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.Conceptauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:35,612 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'person'
+     [exec] 2016-04-18 11:35:35,614 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='person' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.person.bindings.xml
+     [exec] 2016-04-18 11:35:35,616 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Personauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.Personauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:35,617 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'location'
+     [exec] 2016-04-18 11:35:35,620 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='location' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.location.bindings.xml
+     [exec] 2016-04-18 11:35:35,621 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Locationauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.Locationauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:35,621 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'userrole'
+     [exec] 2016-04-18 11:35:35,622 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.userrole' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,622 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'loanin'
+     [exec] 2016-04-18 11:35:35,624 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='loanin' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.loanin.bindings.xml
+     [exec] 2016-04-18 11:35:35,624 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'loanout'
+     [exec] 2016-04-18 11:35:35,628 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='loanout' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.loanout.bindings.xml
+     [exec] 2016-04-18 11:35:35,629 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'contact'
+     [exec] 2016-04-18 11:35:35,629 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.contact' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,629 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredWork'
+     [exec] 2016-04-18 11:35:35,629 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.preferredWork' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,629 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'id'
+     [exec] 2016-04-18 11:35:35,629 WARN  [main] [org.collectionspace.chain.installation.Services:213] Record 'core.collectionspace.org.id' is of an unknown type so we could not create a service binding for it.
+     [exec] 2016-04-18 11:35:35,629 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredCA'
+     [exec] 2016-04-18 11:35:35,629 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.preferredCA' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,630 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'acquisition'
+     [exec] 2016-04-18 11:35:35,632 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='acquisition' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.acquisition.bindings.xml
+     [exec] 2016-04-18 11:35:35,632 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'organization'
+     [exec] 2016-04-18 11:35:35,634 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='organization' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.organization.bindings.xml
+     [exec] 2016-04-18 11:35:35,636 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Orgauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.Orgauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:35,716 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredPA'
+     [exec] 2016-04-18 11:35:35,716 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.preferredPA' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,716 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'collection-object'
+     [exec] 2016-04-18 11:35:35,723 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='collection-object' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.collection-object.bindings.xml
+     [exec] 2016-04-18 11:35:35,723 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'termlist'
+     [exec] 2016-04-18 11:35:35,725 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='termlist' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.termlist.bindings.xml
+     [exec] 2016-04-18 11:35:35,725 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredPlace'
+     [exec] 2016-04-18 11:35:35,725 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.preferredPlace' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,725 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'conservation'
+     [exec] 2016-04-18 11:35:35,727 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='conservation' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.conservation.bindings.xml
+     [exec] 2016-04-18 11:35:35,727 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'movement'
+     [exec] 2016-04-18 11:35:35,729 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='movement' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.movement.bindings.xml
+     [exec] 2016-04-18 11:35:35,729 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'role'
+     [exec] 2016-04-18 11:35:35,729 DEBUG [main] [org.collectionspace.chain.installation.Services:209] Ignoring record 'core.collectionspace.org:role' at the moment as it is of type 'authorizationdata' and so non-standard
+     [exec] 2016-04-18 11:35:35,730 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'termlistitem'
+     [exec] 2016-04-18 11:35:35,731 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='termlistitem' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.termlistitem.bindings.xml
+     [exec] 2016-04-18 11:35:35,731 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'hierarchy'
+     [exec] 2016-04-18 11:35:35,731 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.hierarchy' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,731 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'exhibition'
+     [exec] 2016-04-18 11:35:35,736 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='exhibition' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.exhibition.bindings.xml
+     [exec] 2016-04-18 11:35:35,736 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'place'
+     [exec] 2016-04-18 11:35:35,739 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='place' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.place.bindings.xml
+     [exec] 2016-04-18 11:35:35,740 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Placeauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.Placeauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:35,740 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'all'
+     [exec] 2016-04-18 11:35:35,741 WARN  [main] [org.collectionspace.chain.installation.Services:213] Record 'core.collectionspace.org.all' is of an unknown type so we could not create a service binding for it.
+     [exec] 2016-04-18 11:35:35,821 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'objectexit'
+     [exec] 2016-04-18 11:35:35,827 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='objectexit' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.objectexit.bindings.xml
+     [exec] 2016-04-18 11:35:35,827 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'work'
+     [exec] 2016-04-18 11:35:35,829 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='work' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.work.bindings.xml
+     [exec] 2016-04-18 11:35:35,833 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Workauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.Workauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:35,833 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'reports'
+     [exec] 2016-04-18 11:35:35,833 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.reports' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,833 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'citation'
+     [exec] 2016-04-18 11:35:35,835 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='citation' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.citation.bindings.xml
+     [exec] 2016-04-18 11:35:35,837 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Citationauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.Citationauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:35,837 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'intake'
+     [exec] 2016-04-18 11:35:35,839 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='intake' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.intake.bindings.xml
+     [exec] 2016-04-18 11:35:35,839 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'permrole'
+     [exec] 2016-04-18 11:35:35,839 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.permrole' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,839 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredSLA'
+     [exec] 2016-04-18 11:35:35,839 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.preferredSLA' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,839 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'permission'
+     [exec] 2016-04-18 11:35:35,839 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.permission' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,840 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredCI'
+     [exec] 2016-04-18 11:35:35,840 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.preferredCI' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,840 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'baseAuthority'
+     [exec] 2016-04-18 11:35:35,840 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.baseAuthority' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,840 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredOA'
+     [exec] 2016-04-18 11:35:35,840 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.preferredOA' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,840 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'dimension'
+     [exec] 2016-04-18 11:35:35,923 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.dimension' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,923 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'conditioncheck'
+     [exec] 2016-04-18 11:35:35,925 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='conditioncheck' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.conditioncheck.bindings.xml
+     [exec] 2016-04-18 11:35:35,925 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'structureddate'
+     [exec] 2016-04-18 11:35:35,926 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.structureddate' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,926 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'output'
+     [exec] 2016-04-18 11:35:35,926 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.output' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,926 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'vocab'
+     [exec] 2016-04-18 11:35:35,926 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.vocab' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,926 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'group'
+     [exec] 2016-04-18 11:35:35,928 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='group' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.group.bindings.xml
+     [exec] 2016-04-18 11:35:35,928 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'blobs'
+     [exec] 2016-04-18 11:35:35,928 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'core.collectionspace.org.blobs' does not require a service binding.
+     [exec] 2016-04-18 11:35:35,928 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'valuationcontrol'
+     [exec] 2016-04-18 11:35:35,929 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='valuationcontrol' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.valuationcontrol.bindings.xml
+     [exec] 2016-04-18 11:35:35,929 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'media'
+     [exec] 2016-04-18 11:35:35,930 WARN  [main] [org.collectionspace.chain.installation.Services:952] Potential internal error.  The Services tag 'languageList' does not match the field name 'languages' for Repeat field 'media:languages.'
+     [exec] 2016-04-18 11:35:35,934 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='media' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2256368988874745156\core.collectionspace.org.media.bindings.xml
+     [exec] 2016-04-18 11:35:36,093 WARN  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:412] Source file for "Include" tag could not be found: local-fcart-settings.xml
+     [exec] 2016-04-18 11:35:36,099 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-settings.xml_local-fcart-settings.xml-.xml
+     [exec] 2016-04-18 11:35:36,594 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-collectionobject.xml_extensions\variablemedia-collectionobject.xml_extensions\fineart-collectionobject.xml_extensions\fcart-profile-collectionobject.xml-.xml
+     [exec] 2016-04-18 11:35:36,637 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-procedure-conditioncheck.xml_extensions\variablemedia-procedure-conditioncheck.xml-.xml
+     [exec] 2016-04-18 11:35:36,699 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-procedure-media.xml_extensions\fcart-profile-procedure-media.xml-.xml
+     [exec] 2016-04-18 11:35:36,814 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-concept.xml_extensions\fineart-authority-concept.xml-.xml
+     [exec] 2016-04-18 11:35:36,895 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-other-dimension.xml_extensions\fcart-profile-other-dimension.xml-.xml
+     [exec] 2016-04-18 11:35:38,068 WARN  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:412] Source file for "Include" tag could not be found: local-fcart-settings.xml
+     [exec] 2016-04-18 11:35:38,074 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-settings.xml_local-fcart-settings.xml-.xml
+     [exec] 2016-04-18 11:35:38,356 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-collectionobject.xml_extensions\variablemedia-collectionobject.xml_extensions\fineart-collectionobject.xml_extensions\fcart-profile-collectionobject.xml-.xml
+     [exec] 2016-04-18 11:35:38,390 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-procedure-conditioncheck.xml_extensions\variablemedia-procedure-conditioncheck.xml-.xml
+     [exec] 2016-04-18 11:35:38,438 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-procedure-media.xml_extensions\fcart-profile-procedure-media.xml-.xml
+     [exec] 2016-04-18 11:35:38,534 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-concept.xml_extensions\fineart-authority-concept.xml-.xml
+     [exec] 2016-04-18 11:35:38,603 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-other-dimension.xml_extensions\fcart-profile-other-dimension.xml-.xml
+     [exec] 2016-04-18 11:35:38,693 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'userperm'
+     [exec] 2016-04-18 11:35:38,693 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.userperm' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,693 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'accountroles'
+     [exec] 2016-04-18 11:35:38,694 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.accountroles' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,694 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'users'
+     [exec] 2016-04-18 11:35:38,695 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='users' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.users.bindings.xml
+     [exec] 2016-04-18 11:35:38,695 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'concept'
+     [exec] 2016-04-18 11:35:38,697 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='concept' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.concept.bindings.xml
+     [exec] 2016-04-18 11:35:38,701 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Conceptauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.Conceptauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:38,701 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'person'
+     [exec] 2016-04-18 11:35:38,703 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='person' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.person.bindings.xml
+     [exec] 2016-04-18 11:35:38,704 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Personauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.Personauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:38,704 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'location'
+     [exec] 2016-04-18 11:35:38,706 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='location' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.location.bindings.xml
+     [exec] 2016-04-18 11:35:38,707 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Locationauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.Locationauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:38,707 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'userrole'
+     [exec] 2016-04-18 11:35:38,707 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.userrole' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,707 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'loanin'
+     [exec] 2016-04-18 11:35:38,709 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='loanin' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.loanin.bindings.xml
+     [exec] 2016-04-18 11:35:38,709 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'loanout'
+     [exec] 2016-04-18 11:35:38,710 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='loanout' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.loanout.bindings.xml
+     [exec] 2016-04-18 11:35:38,711 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'contact'
+     [exec] 2016-04-18 11:35:38,726 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.contact' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,726 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredWork'
+     [exec] 2016-04-18 11:35:38,726 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.preferredWork' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,727 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'id'
+     [exec] 2016-04-18 11:35:38,727 WARN  [main] [org.collectionspace.chain.installation.Services:213] Record 'fcart.collectionspace.org.id' is of an unknown type so we could not create a service binding for it.
+     [exec] 2016-04-18 11:35:38,727 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredCA'
+     [exec] 2016-04-18 11:35:38,727 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.preferredCA' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,727 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'acquisition'
+     [exec] 2016-04-18 11:35:38,729 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='acquisition' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.acquisition.bindings.xml
+     [exec] 2016-04-18 11:35:38,729 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'organization'
+     [exec] 2016-04-18 11:35:38,731 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='organization' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.organization.bindings.xml
+     [exec] 2016-04-18 11:35:38,732 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Orgauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.Orgauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:38,732 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredPA'
+     [exec] 2016-04-18 11:35:38,732 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.preferredPA' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,732 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'collection-object'
+     [exec] 2016-04-18 11:35:38,739 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='collection-object' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.collection-object.bindings.xml
+     [exec] 2016-04-18 11:35:38,739 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'termlist'
+     [exec] 2016-04-18 11:35:38,744 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='termlist' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.termlist.bindings.xml
+     [exec] 2016-04-18 11:35:38,744 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredPlace'
+     [exec] 2016-04-18 11:35:38,744 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.preferredPlace' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,745 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'conservation'
+     [exec] 2016-04-18 11:35:38,746 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='conservation' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.conservation.bindings.xml
+     [exec] 2016-04-18 11:35:38,747 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'movement'
+     [exec] 2016-04-18 11:35:38,748 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='movement' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.movement.bindings.xml
+     [exec] 2016-04-18 11:35:38,748 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'role'
+     [exec] 2016-04-18 11:35:38,748 DEBUG [main] [org.collectionspace.chain.installation.Services:209] Ignoring record 'fcart.collectionspace.org:role' at the moment as it is of type 'authorizationdata' and so non-standard
+     [exec] 2016-04-18 11:35:38,749 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'termlistitem'
+     [exec] 2016-04-18 11:35:38,750 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='termlistitem' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.termlistitem.bindings.xml
+     [exec] 2016-04-18 11:35:38,750 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'hierarchy'
+     [exec] 2016-04-18 11:35:38,750 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.hierarchy' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,750 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'exhibition'
+     [exec] 2016-04-18 11:35:38,752 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='exhibition' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.exhibition.bindings.xml
+     [exec] 2016-04-18 11:35:38,830 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'place'
+     [exec] 2016-04-18 11:35:38,832 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='place' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.place.bindings.xml
+     [exec] 2016-04-18 11:35:38,833 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Placeauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.Placeauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:38,833 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'all'
+     [exec] 2016-04-18 11:35:38,834 WARN  [main] [org.collectionspace.chain.installation.Services:213] Record 'fcart.collectionspace.org.all' is of an unknown type so we could not create a service binding for it.
+     [exec] 2016-04-18 11:35:38,834 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'objectexit'
+     [exec] 2016-04-18 11:35:38,839 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='objectexit' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.objectexit.bindings.xml
+     [exec] 2016-04-18 11:35:38,839 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'work'
+     [exec] 2016-04-18 11:35:38,840 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='work' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.work.bindings.xml
+     [exec] 2016-04-18 11:35:38,842 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Workauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.Workauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:38,842 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'reports'
+     [exec] 2016-04-18 11:35:38,842 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.reports' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,842 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'citation'
+     [exec] 2016-04-18 11:35:38,844 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='citation' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.citation.bindings.xml
+     [exec] 2016-04-18 11:35:38,846 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Citationauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.Citationauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:38,846 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'intake'
+     [exec] 2016-04-18 11:35:38,848 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='intake' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.intake.bindings.xml
+     [exec] 2016-04-18 11:35:38,848 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'permrole'
+     [exec] 2016-04-18 11:35:38,848 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.permrole' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,848 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredSLA'
+     [exec] 2016-04-18 11:35:38,848 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.preferredSLA' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,849 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'permission'
+     [exec] 2016-04-18 11:35:38,849 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.permission' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,849 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredCI'
+     [exec] 2016-04-18 11:35:38,849 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.preferredCI' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,849 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'baseAuthority'
+     [exec] 2016-04-18 11:35:38,849 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.baseAuthority' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,934 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredOA'
+     [exec] 2016-04-18 11:35:38,934 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.preferredOA' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,934 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'dimension'
+     [exec] 2016-04-18 11:35:38,935 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.dimension' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,935 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'conditioncheck'
+     [exec] 2016-04-18 11:35:38,937 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='conditioncheck' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.conditioncheck.bindings.xml
+     [exec] 2016-04-18 11:35:38,937 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'structureddate'
+     [exec] 2016-04-18 11:35:38,937 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.structureddate' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,937 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'output'
+     [exec] 2016-04-18 11:35:38,937 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.output' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,937 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'vocab'
+     [exec] 2016-04-18 11:35:38,938 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.vocab' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,938 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'group'
+     [exec] 2016-04-18 11:35:38,939 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='group' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.group.bindings.xml
+     [exec] 2016-04-18 11:35:38,939 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'blobs'
+     [exec] 2016-04-18 11:35:38,939 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'fcart.collectionspace.org.blobs' does not require a service binding.
+     [exec] 2016-04-18 11:35:38,939 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'valuationcontrol'
+     [exec] 2016-04-18 11:35:38,941 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='valuationcontrol' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.valuationcontrol.bindings.xml
+     [exec] 2016-04-18 11:35:38,941 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'media'
+     [exec] 2016-04-18 11:35:38,941 WARN  [main] [org.collectionspace.chain.installation.Services:952] Potential internal error.  The Services tag 'languageList' does not match the field name 'languages' for Repeat field 'media:languages.'
+     [exec] 2016-04-18 11:35:38,942 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='media' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-4044341360782321492\fcart.collectionspace.org.media.bindings.xml
+     [exec] 2016-04-18 11:35:39,002 WARN  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:412] Source file for "Include" tag could not be found: local-materials-settings.xml
+     [exec] 2016-04-18 11:35:39,006 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-settings.xml_local-materials-settings.xml-.xml
+     [exec] 2016-04-18 11:35:39,016 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-relations.xml_materials-relations.xml-.xml
+     [exec] 2016-04-18 11:35:39,055 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-collectionobject.xml_materials-collectionobject.xml-.xml
+     [exec] 2016-04-18 11:35:39,216 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-concept.xml_materials-authority-concept.xml-.xml
+     [exec] 2016-04-18 11:35:40,294 WARN  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:412] Source file for "Include" tag could not be found: local-materials-settings.xml
+     [exec] 2016-04-18 11:35:40,300 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-settings.xml_local-materials-settings.xml-.xml
+     [exec] 2016-04-18 11:35:40,310 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-relations.xml_materials-relations.xml-.xml
+     [exec] 2016-04-18 11:35:40,343 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-collectionobject.xml_materials-collectionobject.xml-.xml
+     [exec] 2016-04-18 11:35:40,531 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-concept.xml_materials-authority-concept.xml-.xml
+     [exec] 2016-04-18 11:35:40,683 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'userperm'
+     [exec] 2016-04-18 11:35:40,683 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.userperm' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,683 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'accountroles'
+     [exec] 2016-04-18 11:35:40,684 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.accountroles' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,684 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'users'
+     [exec] 2016-04-18 11:35:40,685 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='users' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.users.bindings.xml
+     [exec] 2016-04-18 11:35:40,685 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'concept'
+     [exec] 2016-04-18 11:35:40,687 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='concept' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.concept.bindings.xml
+     [exec] 2016-04-18 11:35:40,688 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Conceptauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.Conceptauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:40,688 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'person'
+     [exec] 2016-04-18 11:35:40,690 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='person' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.person.bindings.xml
+     [exec] 2016-04-18 11:35:40,691 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Personauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.Personauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:40,691 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'location'
+     [exec] 2016-04-18 11:35:40,692 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='location' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.location.bindings.xml
+     [exec] 2016-04-18 11:35:40,694 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Locationauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.Locationauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:40,694 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'userrole'
+     [exec] 2016-04-18 11:35:40,694 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.userrole' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,694 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'loanin'
+     [exec] 2016-04-18 11:35:40,695 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='loanin' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.loanin.bindings.xml
+     [exec] 2016-04-18 11:35:40,695 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'loanout'
+     [exec] 2016-04-18 11:35:40,697 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='loanout' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.loanout.bindings.xml
+     [exec] 2016-04-18 11:35:40,697 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'contact'
+     [exec] 2016-04-18 11:35:40,740 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.contact' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,740 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredWork'
+     [exec] 2016-04-18 11:35:40,740 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.preferredWork' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,741 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'id'
+     [exec] 2016-04-18 11:35:40,741 WARN  [main] [org.collectionspace.chain.installation.Services:213] Record 'materials.collectionspace.org.id' is of an unknown type so we could not create a service binding for it.
+     [exec] 2016-04-18 11:35:40,741 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredCA'
+     [exec] 2016-04-18 11:35:40,741 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.preferredCA' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,741 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'acquisition'
+     [exec] 2016-04-18 11:35:40,743 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='acquisition' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.acquisition.bindings.xml
+     [exec] 2016-04-18 11:35:40,743 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'organization'
+     [exec] 2016-04-18 11:35:40,744 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='organization' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.organization.bindings.xml
+     [exec] 2016-04-18 11:35:40,746 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Orgauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.Orgauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:40,746 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredPA'
+     [exec] 2016-04-18 11:35:40,746 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.preferredPA' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,746 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'collection-object'
+     [exec] 2016-04-18 11:35:40,751 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='collection-object' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.collection-object.bindings.xml
+     [exec] 2016-04-18 11:35:40,751 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'termlist'
+     [exec] 2016-04-18 11:35:40,753 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='termlist' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.termlist.bindings.xml
+     [exec] 2016-04-18 11:35:40,753 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredPlace'
+     [exec] 2016-04-18 11:35:40,753 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.preferredPlace' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,753 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'movement'
+     [exec] 2016-04-18 11:35:40,756 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='movement' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.movement.bindings.xml
+     [exec] 2016-04-18 11:35:40,757 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'role'
+     [exec] 2016-04-18 11:35:40,757 DEBUG [main] [org.collectionspace.chain.installation.Services:209] Ignoring record 'materials.collectionspace.org:role' at the moment as it is of type 'authorizationdata' and so non-standard
+     [exec] 2016-04-18 11:35:40,757 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'termlistitem'
+     [exec] 2016-04-18 11:35:40,758 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='termlistitem' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.termlistitem.bindings.xml
+     [exec] 2016-04-18 11:35:40,758 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'hierarchy'
+     [exec] 2016-04-18 11:35:40,758 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.hierarchy' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,758 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'exhibition'
+     [exec] 2016-04-18 11:35:40,760 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='exhibition' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.exhibition.bindings.xml
+     [exec] 2016-04-18 11:35:40,760 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'place'
+     [exec] 2016-04-18 11:35:40,761 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='place' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.place.bindings.xml
+     [exec] 2016-04-18 11:35:40,845 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Placeauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.Placeauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:40,845 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'all'
+     [exec] 2016-04-18 11:35:40,845 WARN  [main] [org.collectionspace.chain.installation.Services:213] Record 'materials.collectionspace.org.all' is of an unknown type so we could not create a service binding for it.
+     [exec] 2016-04-18 11:35:40,845 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'objectexit'
+     [exec] 2016-04-18 11:35:40,846 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='objectexit' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.objectexit.bindings.xml
+     [exec] 2016-04-18 11:35:40,846 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredMaterial'
+     [exec] 2016-04-18 11:35:40,846 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.preferredMaterial' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,846 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'work'
+     [exec] 2016-04-18 11:35:40,848 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='work' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.work.bindings.xml
+     [exec] 2016-04-18 11:35:40,849 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Workauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.Workauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:40,849 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'reports'
+     [exec] 2016-04-18 11:35:40,849 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.reports' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,849 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'citation'
+     [exec] 2016-04-18 11:35:40,851 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='citation' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.citation.bindings.xml
+     [exec] 2016-04-18 11:35:40,852 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Citationauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.Citationauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:40,852 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'intake'
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='intake' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.intake.bindings.xml
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'permrole'
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.permrole' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredSLA'
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.preferredSLA' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'permission'
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.permission' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredCI'
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.preferredCI' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'baseAuthority'
+     [exec] 2016-04-18 11:35:40,855 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.baseAuthority' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,945 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'material'
+     [exec] 2016-04-18 11:35:40,950 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='material' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.material.bindings.xml
+     [exec] 2016-04-18 11:35:40,952 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Materialauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.Materialauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:40,952 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredOA'
+     [exec] 2016-04-18 11:35:40,952 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.preferredOA' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,952 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'dimension'
+     [exec] 2016-04-18 11:35:40,952 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.dimension' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,952 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'conditioncheck'
+     [exec] 2016-04-18 11:35:40,954 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='conditioncheck' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.conditioncheck.bindings.xml
+     [exec] 2016-04-18 11:35:40,954 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'structureddate'
+     [exec] 2016-04-18 11:35:40,954 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.structureddate' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,954 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'output'
+     [exec] 2016-04-18 11:35:40,954 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.output' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,954 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'vocab'
+     [exec] 2016-04-18 11:35:40,954 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.vocab' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,954 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'group'
+     [exec] 2016-04-18 11:35:40,955 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='group' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.group.bindings.xml
+     [exec] 2016-04-18 11:35:40,956 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'blobs'
+     [exec] 2016-04-18 11:35:40,956 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'materials.collectionspace.org.blobs' does not require a service binding.
+     [exec] 2016-04-18 11:35:40,956 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'valuationcontrol'
+     [exec] 2016-04-18 11:35:40,957 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='valuationcontrol' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.valuationcontrol.bindings.xml
+     [exec] 2016-04-18 11:35:40,957 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'media'
+     [exec] 2016-04-18 11:35:40,958 WARN  [main] [org.collectionspace.chain.installation.Services:952] Potential internal error.  The Services tag 'languageList' does not match the field name 'languages' for Repeat field 'media:languages.'
+     [exec] 2016-04-18 11:35:40,959 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='media' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-2206169284082057418\materials.collectionspace.org.media.bindings.xml
+     [exec] 2016-04-18 11:35:41,097 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-settings.xml_local-testsci-settings.xml-.xml
+     [exec] 2016-04-18 11:35:41,199 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-collectionobject.xml_naturalhistory-collectionobject.xml-.xml
+     [exec] 2016-04-18 11:35:41,291 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-procedure-movement.xml_testsci-procedure-movement.xml-.xml
+     [exec] 2016-04-18 11:35:41,333 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-location.xml_testsci-authority-location.xml-.xml
+     [exec] 2016-04-18 11:35:41,354 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-organization.xml_testsci-authority-organization.xml-.xml
+     [exec] 2016-04-18 11:35:41,391 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-person.xml_testsci-authority-person.xml-.xml
+     [exec] 2016-04-18 11:35:41,413 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-citation.xml_testsci-authority-citation.xml-.xml
+     [exec] 2016-04-18 11:35:41,441 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-place.xml_testsci-authority-place.xml-.xml
+     [exec] 2016-04-18 11:35:41,464 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-taxon.xml_testsci-authority-taxon.xml-.xml
+     [exec] 2016-04-18 11:35:41,488 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-concept.xml_testsci-authority-concept.xml-.xml
+     [exec] 2016-04-18 11:35:42,498 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-settings.xml_local-testsci-settings.xml-.xml
+     [exec] 2016-04-18 11:35:42,551 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-collectionobject.xml_naturalhistory-collectionobject.xml-.xml
+     [exec] 2016-04-18 11:35:42,628 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-procedure-movement.xml_testsci-procedure-movement.xml-.xml
+     [exec] 2016-04-18 11:35:42,662 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-location.xml_testsci-authority-location.xml-.xml
+     [exec] 2016-04-18 11:35:42,676 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-organization.xml_testsci-authority-organization.xml-.xml
+     [exec] 2016-04-18 11:35:42,693 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-person.xml_testsci-authority-person.xml-.xml
+     [exec] 2016-04-18 11:35:42,707 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-citation.xml_testsci-authority-citation.xml-.xml
+     [exec] 2016-04-18 11:35:42,725 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-place.xml_testsci-authority-place.xml-.xml
+     [exec] 2016-04-18 11:35:42,739 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-taxon.xml_testsci-authority-taxon.xml-.xml
+     [exec] 2016-04-18 11:35:42,754 INFO  [main] [org.collectionspace.chain.csp.config.impl.parser.AssemblingContentHandler:172] XMLMerge results were written to file: C:\Users\remillet\AppData\Local\Temp\merged-app-config-4119874658557429596\merged-base-authority-concept.xml_testsci-authority-concept.xml-.xml
+     [exec] 2016-04-18 11:35:42,919 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'person'
+     [exec] 2016-04-18 11:35:42,920 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='person' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.person.bindings.xml
+     [exec] 2016-04-18 11:35:42,922 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Personauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.Personauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:42,922 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'users'
+     [exec] 2016-04-18 11:35:42,923 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='users' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.users.bindings.xml
+     [exec] 2016-04-18 11:35:42,923 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'location'
+     [exec] 2016-04-18 11:35:42,927 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='location' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.location.bindings.xml
+     [exec] 2016-04-18 11:35:42,929 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Locationauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.Locationauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:42,929 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredTA'
+     [exec] 2016-04-18 11:35:42,929 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.preferredTA' does not require a service binding.
+     [exec] 2016-04-18 11:35:42,929 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'loanin'
+     [exec] 2016-04-18 11:35:42,931 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='loanin' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.loanin.bindings.xml
+     [exec] 2016-04-18 11:35:42,931 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'loanout'
+     [exec] 2016-04-18 11:35:42,932 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='loanout' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.loanout.bindings.xml
+     [exec] 2016-04-18 11:35:42,932 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredWork'
+     [exec] 2016-04-18 11:35:42,932 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.preferredWork' does not require a service binding.
+     [exec] 2016-04-18 11:35:42,932 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredCA'
+     [exec] 2016-04-18 11:35:42,932 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.preferredCA' does not require a service binding.
+     [exec] 2016-04-18 11:35:42,933 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredPA'
+     [exec] 2016-04-18 11:35:42,933 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.preferredPA' does not require a service binding.
+     [exec] 2016-04-18 11:35:42,933 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'collection-object'
+     [exec] 2016-04-18 11:35:42,939 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='collection-object' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.collection-object.bindings.xml
+     [exec] 2016-04-18 11:35:42,951 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'movement'
+     [exec] 2016-04-18 11:35:42,956 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='movement' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.movement.bindings.xml
+     [exec] 2016-04-18 11:35:42,957 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'role'
+     [exec] 2016-04-18 11:35:42,957 DEBUG [main] [org.collectionspace.chain.installation.Services:209] Ignoring record 'testsci.collectionspace.org:role' at the moment as it is of type 'authorizationdata' and so non-standard
+     [exec] 2016-04-18 11:35:42,957 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'place'
+     [exec] 2016-04-18 11:35:42,958 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='place' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.place.bindings.xml
+     [exec] 2016-04-18 11:35:42,962 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Placeauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.Placeauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:42,962 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'taxon'
+     [exec] 2016-04-18 11:35:42,966 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='taxon' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.taxon.bindings.xml
+     [exec] 2016-04-18 11:35:42,969 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Taxonomyauthority' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.Taxonomyauthority.bindings.xml
+     [exec] 2016-04-18 11:35:42,969 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'objectexit'
+     [exec] 2016-04-18 11:35:42,971 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='objectexit' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.objectexit.bindings.xml
+     [exec] 2016-04-18 11:35:42,971 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'work'
+     [exec] 2016-04-18 11:35:42,972 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='work' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.work.bindings.xml
+     [exec] 2016-04-18 11:35:42,974 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Workauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.Workauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:42,974 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'citation'
+     [exec] 2016-04-18 11:35:42,975 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='citation' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.citation.bindings.xml
+     [exec] 2016-04-18 11:35:42,976 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Citationauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.Citationauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:42,977 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'reports'
+     [exec] 2016-04-18 11:35:42,977 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.reports' does not require a service binding.
+     [exec] 2016-04-18 11:35:42,977 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'permrole'
+     [exec] 2016-04-18 11:35:42,977 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.permrole' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,052 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredSLA'
+     [exec] 2016-04-18 11:35:43,052 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.preferredSLA' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,052 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredCI'
+     [exec] 2016-04-18 11:35:43,053 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.preferredCI' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,053 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'permission'
+     [exec] 2016-04-18 11:35:43,053 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.permission' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,053 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredOA'
+     [exec] 2016-04-18 11:35:43,053 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.preferredOA' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,053 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'conditioncheck'
+     [exec] 2016-04-18 11:35:43,057 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='conditioncheck' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.conditioncheck.bindings.xml
+     [exec] 2016-04-18 11:35:43,057 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'blobs'
+     [exec] 2016-04-18 11:35:43,058 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.blobs' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,058 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'output'
+     [exec] 2016-04-18 11:35:43,058 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.output' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,058 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'media'
+     [exec] 2016-04-18 11:35:43,059 WARN  [main] [org.collectionspace.chain.installation.Services:952] Potential internal error.  The Services tag 'languageList' does not match the field name 'languages' for Repeat field 'media:languages.'
+     [exec] 2016-04-18 11:35:43,062 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='media' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.media.bindings.xml
+     [exec] 2016-04-18 11:35:43,062 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'valuationcontrol'
+     [exec] 2016-04-18 11:35:43,064 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='valuationcontrol' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.valuationcontrol.bindings.xml
+     [exec] 2016-04-18 11:35:43,064 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'accountroles'
+     [exec] 2016-04-18 11:35:43,064 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.accountroles' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,064 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'userperm'
+     [exec] 2016-04-18 11:35:43,064 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.userperm' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,064 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'concept'
+     [exec] 2016-04-18 11:35:43,066 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='concept' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.concept.bindings.xml
+     [exec] 2016-04-18 11:35:43,067 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Conceptauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.Conceptauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:43,067 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'userrole'
+     [exec] 2016-04-18 11:35:43,067 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.userrole' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,068 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'contact'
+     [exec] 2016-04-18 11:35:43,068 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.contact' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,068 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'id'
+     [exec] 2016-04-18 11:35:43,068 WARN  [main] [org.collectionspace.chain.installation.Services:213] Record 'testsci.collectionspace.org.id' is of an unknown type so we could not create a service binding for it.
+     [exec] 2016-04-18 11:35:43,068 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'acquisition'
+     [exec] 2016-04-18 11:35:43,157 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='acquisition' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.acquisition.bindings.xml
+     [exec] 2016-04-18 11:35:43,157 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'organization'
+     [exec] 2016-04-18 11:35:43,161 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='organization' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.organization.bindings.xml
+     [exec] 2016-04-18 11:35:43,164 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='Orgauthorities' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.Orgauthorities.bindings.xml
+     [exec] 2016-04-18 11:35:43,165 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'conservation'
+     [exec] 2016-04-18 11:35:43,166 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='conservation' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.conservation.bindings.xml
+     [exec] 2016-04-18 11:35:43,166 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'preferredPlace'
+     [exec] 2016-04-18 11:35:43,167 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.preferredPlace' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,167 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'termlist'
+     [exec] 2016-04-18 11:35:43,168 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='termlist' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.termlist.bindings.xml
+     [exec] 2016-04-18 11:35:43,168 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'termlistitem'
+     [exec] 2016-04-18 11:35:43,169 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='termlistitem' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.termlistitem.bindings.xml
+     [exec] 2016-04-18 11:35:43,169 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'exhibition'
+     [exec] 2016-04-18 11:35:43,171 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='exhibition' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.exhibition.bindings.xml
+     [exec] 2016-04-18 11:35:43,171 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'hierarchy'
+     [exec] 2016-04-18 11:35:43,171 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.hierarchy' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,171 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'all'
+     [exec] 2016-04-18 11:35:43,171 WARN  [main] [org.collectionspace.chain.installation.Services:213] Record 'testsci.collectionspace.org.all' is of an unknown type so we could not create a service binding for it.
+     [exec] 2016-04-18 11:35:43,171 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'intake'
+     [exec] 2016-04-18 11:35:43,173 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='intake' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.intake.bindings.xml
+     [exec] 2016-04-18 11:35:43,173 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'baseAuthority'
+     [exec] 2016-04-18 11:35:43,173 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.baseAuthority' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,173 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'dimension'
+     [exec] 2016-04-18 11:35:43,173 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.dimension' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,173 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'structureddate'
+     [exec] 2016-04-18 11:35:43,258 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.structureddate' does not require a service binding.
+     [exec] 2016-04-18 11:35:43,258 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'group'
+     [exec] 2016-04-18 11:35:43,260 DEBUG [main] [org.collectionspace.chain.installation.Services:255] Wrote Service bindings for record='group' to file: C:\Users\remillet\AppData\Local\Temp\cspace-bindings-961535416183709636\testsci.collectionspace.org.group.bindings.xml
+     [exec] 2016-04-18 11:35:43,260 DEBUG [main] [org.collectionspace.chain.installation.Services:182] Processing App record 'vocab'
+     [exec] 2016-04-18 11:35:43,260 DEBUG [main] [org.collectionspace.chain.installation.Services:226] 'testsci.collectionspace.org.vocab' does not require a service binding.
+
+deploy:
+     [copy] Copying 1 file to C:\dev\tools\apache-tomcat-7.0.57\webapps
+
+BUILD SUCCESSFUL
+Total time: 30 seconds
index c6bb8652ed8dfac6968883f63336fdebf8909c04..b5b0de9acad21a211300de32a4fa40a5fd754163 100644 (file)
@@ -46,6 +46,7 @@ import org.collectionspace.services.client.IQueryManager;
 import org.collectionspace.services.client.PoxPayloadIn;
 import org.collectionspace.services.client.PoxPayloadOut;
 import org.collectionspace.services.client.workflow.WorkflowClient;
+import org.collectionspace.services.common.XmlTools;
 import org.collectionspace.services.common.CSWebApplicationException;
 import org.collectionspace.services.common.NuxeoBasedResource;
 import org.collectionspace.services.common.ResourceMap;
@@ -119,47 +120,12 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
     protected String authorityCommonSchemaName;
     protected String authorityItemCommonSchemaName;
     final static ClientType CLIENT_TYPE = ServiceMain.getInstance().getClientType(); //FIXME: REM - 3 Why is this field needed?  I see no references to it.
-    final static String URN_PREFIX = "urn:cspace:";
-    final static int URN_PREFIX_LEN = URN_PREFIX.length();
-    final static String URN_PREFIX_NAME = "name(";
-    final static int URN_NAME_PREFIX_LEN = URN_PREFIX_LEN + URN_PREFIX_NAME.length();
-    final static String URN_PREFIX_ID = "id(";
-    final static int URN_ID_PREFIX_LEN = URN_PREFIX_LEN + URN_PREFIX_ID.length();
+        
     final static String FETCH_SHORT_ID = "_fetch_";
     public final static String PARENT_WILDCARD = "_ALL_";
        
     final Logger logger = LoggerFactory.getLogger(AuthorityResource.class);
 
-    protected Specifier getSpecifier(String specifierIn, String method, String op) throws CSWebApplicationException {
-        if (logger.isDebugEnabled()) {
-            logger.debug("getSpecifier called by: " + method + " with specifier: " + specifierIn);
-        }
-        if (specifierIn != null) {
-            if (!specifierIn.startsWith(URN_PREFIX)) {
-                // We'll assume it is a CSID and complain if it does not match
-                return new Specifier(SpecifierForm.CSID, specifierIn);
-            } else {
-                if (specifierIn.startsWith(URN_PREFIX_NAME, URN_PREFIX_LEN)) {
-                    int closeParen = specifierIn.indexOf(')', URN_NAME_PREFIX_LEN);
-                    if (closeParen >= 0) {
-                        return new Specifier(SpecifierForm.URN_NAME,
-                                specifierIn.substring(URN_NAME_PREFIX_LEN, closeParen));
-                    }
-                } else if (specifierIn.startsWith(URN_PREFIX_ID, URN_PREFIX_LEN)) {
-                    int closeParen = specifierIn.indexOf(')', URN_ID_PREFIX_LEN);
-                    if (closeParen >= 0) {
-                        return new Specifier(SpecifierForm.CSID,
-                                specifierIn.substring(URN_ID_PREFIX_LEN, closeParen));
-                    }
-                }
-            }
-        }
-        logger.error(method + ": bad or missing specifier!");
-        Response response = Response.status(Response.Status.BAD_REQUEST).entity(
-                op + " failed on bad or missing Authority specifier").type(
-                "text/plain").build();
-        throw new CSWebApplicationException(response);
-    }
 
     /**
      * Instantiates a new Authority resource.
@@ -277,14 +243,14 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
 
     private CsidAndShortIdentifier lookupParentCSIDAndShortIdentifer(
                ServiceContext itemServiceCtx, // Ok to be null
-               String parentSpecifier,
+               String parentIdentifier,
                String method,
                String op,
                UriInfo uriInfo)
             throws Exception {
         CsidAndShortIdentifier result = new CsidAndShortIdentifier();
-        Specifier parentSpec = getSpecifier(parentSpecifier, method, op);
-        // Note that we have to create the service context for the Items, not the main service
+        Specifier parentSpec = Specifier.getSpecifier(parentIdentifier, method, op);
+        
         String parentcsid;
         String parentShortIdentifier;
         if (parentSpec.form == SpecifierForm.CSID) {
@@ -295,24 +261,25 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
             parentShortIdentifier = FETCH_SHORT_ID;
         } else {
             parentShortIdentifier = parentSpec.value;
-            String whereClause = RefNameServiceUtils.buildWhereForAuthByName(authorityCommonSchemaName, parentSpec.value);
+            String whereClause = RefNameServiceUtils.buildWhereForAuthByName(authorityCommonSchemaName, parentShortIdentifier);
             ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx = createServiceContext(getServiceName(), uriInfo);
             CoreSessionInterface repoSession = null;
             if (itemServiceCtx != null) {
-                repoSession = (CoreSessionInterface) itemServiceCtx.getCurrentRepositorySession();  // We want to use the thread's current repo session
+               repoSession = (CoreSessionInterface) itemServiceCtx.getCurrentRepositorySession();  // We want to use the thread's current repo session
             }
             parentcsid = getRepositoryClient(ctx).findDocCSID(repoSession, ctx, whereClause); //FIXME: REM - If the parent has been soft-deleted, should we be looking for the item?
         }
         
         result.CSID = parentcsid;
         result.shortIdentifier = parentShortIdentifier;
+        
         return result;
     }
 
     public String lookupItemCSID(ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx, String itemspecifier, String parentcsid, String method, String op)
             throws DocumentException {
         String itemcsid;
-        Specifier itemSpec = getSpecifier(itemspecifier, method, op);
+        Specifier itemSpec = Specifier.getSpecifier(itemspecifier, method, op);
         if (itemSpec.form == SpecifierForm.CSID) {
             itemcsid = itemSpec.value;
         } else {
@@ -397,7 +364,7 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
         try {
             ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx = createServiceContext(ui);
             AuthorityDocumentModelHandler handler = (AuthorityDocumentModelHandler)createDocumentHandler(ctx);
-            specifier = getSpecifier(csid, "getAuthority", "GET");
+            specifier = Specifier.getSpecifier(csid, "getAuthority", "GET");
             neededSync = getRepositoryClient(ctx).synchronize(ctx, specifier, handler);
             payloadOut = ctx.getOutput();
         } catch (Exception e) {
@@ -437,7 +404,7 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
             ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx = createServiceContext(ui);
             DocumentHandler<?, AbstractCommonList, DocumentModel, DocumentModelList> handler = createDocumentHandler(ctx);
 
-            Specifier spec = getSpecifier(specifier, "getAuthority", "GET");
+            Specifier spec = Specifier.getSpecifier(specifier, "getAuthority", "GET");
             if (spec.form == SpecifierForm.CSID) {
                 if (logger.isDebugEnabled()) {
                     logger.debug("getAuthority with csid=" + spec.value);
@@ -537,7 +504,7 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
         PoxPayloadOut result = null;
         try {
             PoxPayloadIn theUpdate = new PoxPayloadIn(xmlPayload);
-            Specifier spec = getSpecifier(specifier, "updateAuthority", "UPDATE");
+            Specifier spec = Specifier.getSpecifier(specifier, "updateAuthority", "UPDATE");
             ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx = createServiceContext(theUpdate);
             DocumentHandler<?, AbstractCommonList, DocumentModel, DocumentModelList> handler = createDocumentHandler(ctx);
             String csid;
@@ -601,7 +568,7 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
             ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx = createServiceContext(ui);
             DocumentHandler<?, AbstractCommonList, DocumentModel, DocumentModelList> handler = createDocumentHandler(ctx);
 
-            Specifier spec = getSpecifier(specifier, "getAuthority", "GET");
+            Specifier spec = Specifier.getSpecifier(specifier, "getAuthority", "GET");
             if (spec.form == SpecifierForm.CSID) {
                 if (logger.isDebugEnabled()) {
                     logger.debug("deleteAuthority with csid=" + spec.value);
@@ -622,15 +589,18 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
         }
     }
     
-    protected Response createAuthorityItem(ServiceContext ctx, String parentspecifier, boolean shouldUpdateRevNumber) throws Exception {
+    protected Response createAuthorityItem(ServiceContext ctx, String parentIdentifier, boolean shouldUpdateRevNumber) throws Exception {
        Response result = null;
        
         // Note: must have the parentShortId, to do the create.
-        CsidAndShortIdentifier parent = lookupParentCSIDAndShortIdentifer(ctx, parentspecifier, "createAuthorityItem", "CREATE_ITEM", null);
+        CsidAndShortIdentifier parent = lookupParentCSIDAndShortIdentifer(ctx, parentIdentifier, "createAuthorityItem", "CREATE_ITEM", null);
         AuthorityItemDocumentModelHandler handler = 
                (AuthorityItemDocumentModelHandler) createItemDocumentHandler(ctx, parent.CSID, parent.shortIdentifier);
         handler.setShouldUpdateRevNumber(shouldUpdateRevNumber);
+        // Make the client call
         String itemcsid = getRepositoryClient(ctx).create(ctx, handler);
+        
+        // Build the JAX-RS response
         UriBuilder path = UriBuilder.fromResource(resourceClass);
         path.path(parent.CSID + "/items/" + itemcsid);
         result = Response.created(path.build()).build();
@@ -641,13 +611,13 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
     /**
      * Called with an existing context.
      * @param parentCtx
-     * @param parentspecifier
+     * @param parentIdentifier
      * @param input
      * @return
      * @throws Exception
      */
     public Response createAuthorityItemWithParentContext(ServiceContext parentCtx,
-               String parentspecifier,
+               String parentIdentifier,
                PoxPayloadIn input,
                boolean shouldUpdateRevNumber) throws Exception {
        Response result = null;
@@ -657,7 +627,7 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
         if (parentCtx.getCurrentRepositorySession() != null) {
                ctx.setCurrentRepositorySession(parentCtx.getCurrentRepositorySession());
         }
-        result = this.createAuthorityItem(ctx, parentspecifier, shouldUpdateRevNumber);
+        result = this.createAuthorityItem(ctx, parentIdentifier, shouldUpdateRevNumber);
 
        return result;
     }
@@ -672,14 +642,14 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
     public Response createAuthorityItem(
                @Context ResourceMap resourceMap,
                @Context UriInfo uriInfo, 
-               @PathParam("csid") String parentspecifier,
+               @PathParam("csid") String parentIdentifier, // Either a CSID or a URN form -e.g., a8ad38ec-1d7d-4bf2-bd31 or urn:cspace:name(bugsbunny)
                String xmlPayload) {
        Response result = null;
        
         try {
             PoxPayloadIn input = new PoxPayloadIn(xmlPayload);
             ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx = createServiceContext(getItemServiceName(), input, resourceMap, uriInfo);
-            result = this.createAuthorityItem(ctx, parentspecifier, AuthorityServiceUtils.UPDATE_REV);
+            result = this.createAuthorityItem(ctx, parentIdentifier, AuthorityServiceUtils.UPDATE_REV);
         } catch (Exception e) {
             throw bigReThrow(e, ServiceMessages.CREATE_FAILED);
         }
@@ -791,8 +761,9 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
         // We omit the parentShortId, only needed when doing a create...
         DocumentHandler<?, AbstractCommonList, DocumentModel, DocumentModelList> handler = createItemDocumentHandler(ctx, parentcsid, null);
 
-        Specifier itemSpec = getSpecifier(itemIdentifier, "getAuthorityItem(item)", "GET_ITEM");
+        Specifier itemSpec = Specifier.getSpecifier(itemIdentifier, "getAuthorityItem(item)", "GET_ITEM");
         if (itemSpec.form == SpecifierForm.CSID) {
+            // TODO should we assert that the item is in the passed vocab?
             getRepositoryClient(ctx).get(ctx, itemSpec.value, handler);
         } else {
             String itemWhereClause =
@@ -801,21 +772,30 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
             handler.setDocumentFilter(myFilter);
             getRepositoryClient(ctx).get(ctx, handler);
         }
-        // TODO should we assert that the item is in the passed vocab?
+        
         result = (PoxPayloadOut) ctx.getOutput();
+        if (result != null) {
+               String inAuthority = XmlTools.getElementValue(result.getDOMDocument(), AuthorityItemJAXBSchema.REF_NAME);
+               if (inAuthority.equalsIgnoreCase(parentcsid) == false) {
+                       throw new Exception(String.format("Looked up item = '%s' and found with inAuthority = '%s', but expected inAuthority = '%s'.",
+                                       itemSpec.value, inAuthority, parentcsid));
+               }
+        }
+        
 
        return result;
     }
 
-    public PoxPayloadOut getAuthorityItemWithParentContext(
-               ServiceContext parentCtx,
+    public PoxPayloadOut getAuthorityItemWithExistingContext(
+               ServiceContext existingCtx,
             String parentIdentifier,
             String itemIdentifier) throws Exception {
        PoxPayloadOut result = null;
        
-        ServiceContext ctx = createServiceContext(getItemServiceName(), parentCtx.getResourceMap(), parentCtx.getUriInfo());
-        if (parentCtx.getCurrentRepositorySession() != null) {
-               ctx.setCurrentRepositorySession(parentCtx.getCurrentRepositorySession()); // Reuse the current repo session if one exists
+        ServiceContext ctx = createServiceContext(getItemServiceName(), existingCtx.getResourceMap(), existingCtx.getUriInfo());
+        if (existingCtx.getCurrentRepositorySession() != null) {
+               ctx.setCurrentRepositorySession(existingCtx.getCurrentRepositorySession()); // Reuse the current repo session if one exists
+               ctx.setProperties(existingCtx.getProperties());
         }
         result = getAuthorityItem(ctx, parentIdentifier, itemIdentifier);
        
@@ -1058,8 +1038,8 @@ public abstract class AuthorityResource<AuthCommon, AuthItemHandler>
 
         parent = lookupParentCSIDAndShortIdentifer(ctx, parentIdentifier, "syncAuthorityItem(parent)", "SYNC_ITEM", null);
         AuthorityItemDocumentModelHandler handler = (AuthorityItemDocumentModelHandler)createItemDocumentHandler(ctx, parent.CSID, parent.shortIdentifier);
-        Specifier parentSpecifier = getSpecifier(parent.CSID, "getAuthority", "GET");
-        Specifier itemSpecifier = getSpecifier(itemIdentifier, "getAuthorityItem", "GET");
+        Specifier parentSpecifier = Specifier.getSpecifier(parent.CSID, "getAuthority", "GET");
+        Specifier itemSpecifier = Specifier.getSpecifier(itemIdentifier, "getAuthorityItem", "GET");
         specifier = new AuthorityItemSpecifier(parentSpecifier, itemSpecifier);
         //
         neededSync = getRepositoryClient(ctx).synchronize(ctx, specifier, handler);
index 7213612d2964e0c58ca8ffa47c436856e893feef..8f42ae34f4dddaf2267ddb740574e1596127141e 100644 (file)
@@ -14,11 +14,16 @@ import org.slf4j.LoggerFactory;
 
 public class AuthorityServiceUtils {
     private static final Logger logger = LoggerFactory.getLogger(AuthorityIdentifierUtils.class);
-
+    //
+    // Revision property statics
+    //
     public static final String SHOULD_UPDATE_REV_PROPERTY = "SHOULD_UPDATE_REV_PROPERTY";
     public static final boolean DONT_UPDATE_REV = false;
     public static final boolean UPDATE_REV = true;
 
+    //
+    // Makes a call to the SAS server for a authority payload
+    //
     static public PoxPayloadIn requestPayloadIn(ServiceContext ctx, Specifier specifier, Class responseType) throws Exception {
        PoxPayloadIn result = null;
        
@@ -41,12 +46,15 @@ public class AuthorityServiceUtils {
        return result;
     }
     
+    //
+    // Makes a call to the SAS server for a authority item payload
+    //    
     static public PoxPayloadIn requestPayloadIn(AuthorityItemSpecifier specifier, String serviceName, Class responseType) throws Exception {
        PoxPayloadIn result = null;
        
        ServiceContext parentCtx = new MultipartServiceContextImpl(serviceName);
         AuthorityClient client = (AuthorityClient) parentCtx.getClient();
-        Response res = client.readItem(specifier.getParentSpecifier().value, specifier.getItemSpecifier().value);
+        Response res = client.readItem(specifier.getParentSpecifier().getURNValue(), specifier.getItemSpecifier().getURNValue());
         try {
                int statusCode = res.getStatus();
        
index ee0ead044881e8f737f2bbc9930acc320fb870af..bc6d2ee729426e2c39438186577a4380a53b17ca 100644 (file)
@@ -131,7 +131,7 @@ public abstract class AuthorityDocumentModelHandler<AuthCommon>
         //
         // Using the short ID of the local authority, create a URN specifier to retrieve the SAS authority
         //
-        Specifier sasSpecifier = new Specifier(SpecifierForm.URN_NAME, RefNameUtils.createShortIdRefName(shortId));
+        Specifier sasSpecifier = new Specifier(SpecifierForm.URN_NAME, Specifier.createShortIdURNValue(shortId));
         PoxPayloadIn sasPayloadIn = AuthorityServiceUtils.requestPayloadIn(ctx, sasSpecifier, getEntityResponseType());
         //
         // If the authority on the SAS is newer, synch all the items and then the authority record as well
@@ -145,10 +145,8 @@ public abstract class AuthorityDocumentModelHandler<AuthCommon>
                //
                // Next, sync the authority resource/record itself
                //
-               ResourceMap resourceMap = ctx.getResourceMap();
-               String resourceName = ctx.getClient().getServiceName();
-               AuthorityResource authorityResource = (AuthorityResource) resourceMap.get(resourceName);
-               PoxPayloadOut payloadOut = authorityResource.update(ctx, resourceMap, ctx.getUriInfo(), docModel.getName(), 
+               AuthorityResource authorityResource = (AuthorityResource) ctx.getResource();
+               PoxPayloadOut payloadOut = authorityResource.update(ctx, ctx.getResourceMap(), ctx.getUriInfo(), docModel.getName(), 
                                sasPayloadIn);
                if (payloadOut != null) {
                        ctx.setOutput(payloadOut);
@@ -163,7 +161,7 @@ public abstract class AuthorityDocumentModelHandler<AuthCommon>
      * Get the list of authority items from the remote shared authority server (SAS) and try
      * to synchronize them with the local items.  If items exist on the remote but not the local, we'll create them.
      */
-    protected int syncAllItems(ServiceContext ctx, Specifier sasSpecifier) throws Exception {
+    protected int syncAllItems(ServiceContext ctx, Specifier sasAuthoritySpecifier) throws Exception {
        int result = -1;
        int created = 0;
        int synched = 0;
@@ -172,12 +170,12 @@ public abstract class AuthorityDocumentModelHandler<AuthCommon>
        //
        // Iterate over the list of items/terms in the remote authority
        //
-        PoxPayloadIn sasPayloadInItemList = getPayloadInItemList(ctx, sasSpecifier);
+        PoxPayloadIn sasPayloadInItemList = getPayloadInItemList(ctx, sasAuthoritySpecifier);
         List<Element> itemList = getItemList(sasPayloadInItemList);
         if (itemList != null) {
                for (Element e:itemList) {
-                       String remoteRefName = XmlTools.getElementValue(e, "refName");
-                       long status = syncRemoteItemWithLocalItem(ctx, remoteRefName);
+                       String itemRefName = XmlTools.getElementValue(e, AuthorityItemJAXBSchema.REF_NAME);
+                       long status = syncRemoteItemWithLocalItem(ctx, itemRefName);
                        if (status == 1) {
                                created++;
                        } else if (status == 0) {
@@ -208,8 +206,8 @@ public abstract class AuthorityDocumentModelHandler<AuthCommon>
        //
        // Create a URN short ID specifier for the getting a copy of the remote authority item
        //
-        Specifier authoritySpecifier = new Specifier(SpecifierForm.URN_NAME, parentIdentifier);
-        Specifier itemSpecifier = new Specifier(SpecifierForm.URN_NAME, itemIdentifier);
+        Specifier authoritySpecifier = Specifier.getSpecifier(parentIdentifier);
+        Specifier itemSpecifier = Specifier.getSpecifier(itemIdentifier);
         AuthorityItemSpecifier sasAuthorityItemSpecifier = new AuthorityItemSpecifier(authoritySpecifier, itemSpecifier);
         //
         // Get the remote payload
@@ -219,10 +217,8 @@ public abstract class AuthorityDocumentModelHandler<AuthCommon>
         //
         // Using the payload from the remote server, create a local copy of the item
         //
-       ResourceMap resourceMap = ctx.getResourceMap();
-       String resourceName = ctx.getClient().getServiceName();
-       AuthorityResource authorityResource = (AuthorityResource) resourceMap.get(resourceName);
-       Response response = authorityResource.createAuthorityItemWithParentContext(ctx, authoritySpecifier.value,
+       AuthorityResource authorityResource = (AuthorityResource) ctx.getResource();
+       Response response = authorityResource.createAuthorityItemWithParentContext(ctx, authoritySpecifier.getURNValue(),
                        sasPayloadIn, AuthorityServiceUtils.DONT_UPDATE_REV);
        //
        // Check the response for successful POST result
@@ -248,29 +244,26 @@ public abstract class AuthorityDocumentModelHandler<AuthCommon>
      * @return
      * @throws Exception
      */
-    protected long syncRemoteItemWithLocalItem(ServiceContext ctx, String remoteRefName) throws Exception {
+    protected long syncRemoteItemWithLocalItem(ServiceContext ctx, String itemRefName) throws Exception {
        long result = -1;
        //
-       // Using the remote refname, create specifiers that we'll use to find the local versions
+       // Using the item refname (with no local CSID), create specifiers that we'll use to find the local versions
        //
-       AuthorityTermInfo authorityTermInfo = RefNameUtils.parseAuthorityTermInfo(remoteRefName);
-       String parentIdentifier = RefNameUtils.createShortIdRefName(authorityTermInfo.inAuthority.name);
-       String itemIdentifier = RefNameUtils.createShortIdRefName(authorityTermInfo.name);
+       AuthorityTermInfo authorityTermInfo = RefNameUtils.parseAuthorityTermInfo(itemRefName);
+       String parentIdentifier = Specifier.createShortIdURNValue(authorityTermInfo.inAuthority.name);
+       String itemIdentifier = Specifier.createShortIdURNValue(authorityTermInfo.name);
        //
        // We'll use the Authority JAX-RS resource to peform sync operations (creates and updates)
        //
-       ResourceMap resourceMap = ctx.getResourceMap();
-       String resourceName = ctx.getClient().getServiceName();
-       AuthorityResource authorityResource = (AuthorityResource) resourceMap.get(resourceName);
-       
+       AuthorityResource authorityResource = (AuthorityResource) ctx.getResource();            
        PoxPayloadOut localItemPayloadOut;
        try {
-               localItemPayloadOut = authorityResource.getAuthorityItemWithParentContext(ctx, parentIdentifier, itemIdentifier);
+               localItemPayloadOut = authorityResource.getAuthorityItemWithExistingContext(ctx, parentIdentifier, itemIdentifier);
        } catch (DocumentNotFoundException dnf) {
                //
                // Document not found, means we need to create an item/term that exists only on the SAS
                //
-               logger.info(String.format("Remote item with refname='%s' doesn't exist locally, so we'll create it.", remoteRefName));
+               logger.info(String.format("Remote item with refname='%s' doesn't exist locally, so we'll create it.", itemRefName));
                createLocalItem(ctx, parentIdentifier, itemIdentifier);
                return 1; // exit with status of 1 means we created a new authority item
        }
@@ -279,7 +272,7 @@ public abstract class AuthorityDocumentModelHandler<AuthCommon>
        //
        PoxPayloadOut theUpdate = authorityResource.synchronizeItemWithParentContext(ctx, parentIdentifier, itemIdentifier);
        if (theUpdate != null) {
-               result = 0; // mean we neeed to sync this item with SAS
+               result = 0; // means we needed to sync this item with SAS
                logger.debug(String.format("Sync'd authority item parent='%s' id='%s with SAS.  Updated payload is: \n%s",
                                parentIdentifier, itemIdentifier, theUpdate.getXmlPayload()));
        }
index e5762339ad89e4d0db654f48ef1fd9f7659f91d5..58c28c05024abed45d088d19dce1474b1e56c598 100644 (file)
@@ -381,7 +381,7 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
         }
         Long localItemRev = (Long) NuxeoUtils.getProperyValue(itemDocModel, AuthorityItemJAXBSchema.REV);
         String localItemCsid = itemDocModel.getName();
-        String localItemWorkflowState = (String) NuxeoUtils.getProperyValue(itemDocModel, CollectionSpaceClient.CORE_WORKFLOWSTATE);
+        String localItemWorkflowState = itemDocModel.getCurrentLifeCycleState();
         String itemShortId = (String) NuxeoUtils.getProperyValue(itemDocModel, AuthorityItemJAXBSchema.SHORT_IDENTIFIER);
         
         //
@@ -394,9 +394,7 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
         //
         // Using the short IDs of the local authority and item, create URN specifiers to retrieve the SAS authority item
         //
-        Specifier sasAuthoritySpecifier = new Specifier(SpecifierForm.URN_NAME, RefNameUtils.createShortIdRefName(authorityShortId));
-        Specifier sasItemSpecifier = new Specifier(SpecifierForm.URN_NAME, RefNameUtils.createShortIdRefName(itemShortId));
-        AuthorityItemSpecifier sasAuthorityItemSpecifier = new AuthorityItemSpecifier(sasAuthoritySpecifier, sasItemSpecifier);
+        AuthorityItemSpecifier sasAuthorityItemSpecifier = new AuthorityItemSpecifier(SpecifierForm.URN_NAME, authorityShortId, itemShortId);
         // Get the shared authority server's copy
         PoxPayloadIn sasPayloadIn = AuthorityServiceUtils.requestPayloadIn(sasAuthorityItemSpecifier, 
                        getAuthorityServicePath(), getEntityResponseType());
@@ -406,11 +404,9 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
         // If the shared authority item is newer, update our local copy
         //
         if (sasRev > localItemRev) {
-               ResourceMap resourceMap = ctx.getResourceMap();
-               String resourceName = this.getAuthorityServicePath();
-               AuthorityResource authorityResource = (AuthorityResource) resourceMap.get(resourceName);
+               AuthorityResource authorityResource = (AuthorityResource) ctx.getResource();
                PoxPayloadOut payloadOut = authorityResource.updateAuthorityItem(ctx, 
-                               resourceMap,                                    
+                               ctx.getResourceMap(),                                   
                                ctx.getUriInfo(),
                                localParentCsid,                                // parent's CSID
                                localItemCsid,                                  // item's CSID
@@ -425,9 +421,7 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
         // If the workflow states are different, we need to update the local's to reflects the remote's
         //
         if (localItemWorkflowState.equalsIgnoreCase(sasWorkflowState) == false) {
-               ResourceMap resourceMap = ctx.getResourceMap();
-               String resourceName = this.getAuthorityServicePath();
-               AuthorityResource authorityResource = (AuthorityResource) resourceMap.get(resourceName);
+               AuthorityResource authorityResource = (AuthorityResource) ctx.getResource();
                //
                // We need to move the local item to the SAS workflow state.  This might involve multiple transitions.
                //
@@ -435,6 +429,7 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
                for (String transition:transitionList) {
                        authorityResource.updateItemWorkflowWithTransition(ctx, localParentCsid, localItemCsid, transition, AuthorityServiceUtils.DONT_UPDATE_REV);
                }
+               result = true;
         }
         
         return result;
index 75cb8b86d83f3ff4143e77ab00055aad2fe391e8..d077dd6be879108ab694872fb370e96e02011b2b 100644 (file)
@@ -9,8 +9,8 @@ cspace.url=http://localhost:8180/cspace-services/
 cspace.ssl=false
 cspace.auth=true
 # default user
-cspace.user=admin@core.collectionspace.org
-#cspace.user=admin@testsci.collectionspace.org
+#cspace.user=admin@core.collectionspace.org
+cspace.user=admin@testsci.collectionspace.org
 cspace.password=Administrator
 # default tenant
 cspace.tenant=1
index d8f099c7dca14f14ee9ac5145b932d6bfec715ff..28b7494115a305b515536f1ce2c71cc7ff3cef47 100644 (file)
@@ -276,23 +276,6 @@ public class RefNameUtils {
        }
        
        return displayName;
-    }
-
-    /**
-     * Creates a refName in the name / shortIdentifier form.
-     *
-     * @param shortId a shortIdentifier for an authority or one of its terms
-     * @return a refName for that authority or term, in the name / shortIdentifier form.
-     *         If the provided shortIdentifier is null or empty, returns
-     *         the empty string.
-     */
-    public static String createShortIdRefName(String shortId) {
-        if (shortId == null || shortId.trim().isEmpty()) {
-            return "";
-        } else {
-            return "urn:cspace:name("+shortId+")";
-        }
-    }
-    
+    }    
 }
 
index acc9bb8b741e0d0499f0325a8d1dbc4e35e55e1f..f6c7d81cf7ee49a18adb64186247a1736c47f28b 100644 (file)
@@ -601,13 +601,13 @@ public abstract class NuxeoBasedResource
                        throws Exception, DocumentNotFoundException {
        RefName.AuthorityItem item = RefName.AuthorityItem.parse(refName);
        if(item != null) {
-               NuxeoBasedResource resource = resourceMap.get(item.inAuthority.resource);
+               NuxeoBasedResource resource = (NuxeoBasedResource) resourceMap.get(item.inAuthority.resource);
                return resource.getDocModelForAuthorityItem(repoSession, item);
        }
        RefName.Authority authority = RefName.Authority.parse(refName);
        // Handle case of objects refNames, which must be csid based.
        if(authority != null && !Tools.isEmpty(authority.csid)) {
-               NuxeoBasedResource resource = resourceMap.get(authority.resource);
+               NuxeoBasedResource resource = (NuxeoBasedResource) resourceMap.get(authority.resource);
             // Ensure we have the right context.
             ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx = 
                        resource.createServiceContext(authority.resource);
index 6d1ef8642cc67faf7afd84cdeb92ecbc2b481f5d..a0869793777ff9060a238db94129cd80d3c2dc74 100644 (file)
@@ -2,9 +2,12 @@ package org.collectionspace.services.common;
 
 import java.util.Map;
 
+import org.collectionspace.services.client.PoxPayloadIn;
+import org.collectionspace.services.client.PoxPayloadOut;
+
 /*
  * Maps service names to Resource instances. Use the Service Client Class to get the service name. 
  */
-public interface ResourceMap extends Map<String, NuxeoBasedResource> {
+public interface ResourceMap extends Map<String, CollectionSpaceResource<PoxPayloadIn, PoxPayloadOut>> {
 
 }
index 97322e405ad729a0b7251ecb77e012e241afdd30..425ca3114de236bed8665c0f5ccaf111454fd6df 100644 (file)
@@ -27,17 +27,18 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Constructor;
+
 import javax.ws.rs.core.UriInfo;
 
 import org.collectionspace.services.client.PayloadInputPart;
 import org.collectionspace.services.client.PayloadOutputPart;
 import org.collectionspace.services.client.PoxPayloadIn;
 import org.collectionspace.services.client.PoxPayloadOut;
+import org.collectionspace.services.common.CollectionSpaceResource;
 import org.collectionspace.services.common.ResourceMap;
 import org.collectionspace.services.common.security.UnauthorizedException;
 import org.dom4j.DocumentException;
 import org.dom4j.Element;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -179,6 +180,17 @@ public class MultipartServiceContextImpl
            }
     }
 
+    @Override
+    public CollectionSpaceResource<PoxPayloadIn, PoxPayloadOut> getResource() throws Exception {
+       CollectionSpaceResource<PoxPayloadIn, PoxPayloadOut> result = null;
+       
+       ResourceMap resourceMap = getResourceMap();
+       String resourceName = getClient().getServiceName();
+       result = (CollectionSpaceResource<PoxPayloadIn, PoxPayloadOut>) resourceMap.get(resourceName);
+       
+       return result;
+    }
+
     /* (non-Javadoc)
      * @see org.collectionspace.services.common.context.RemoteServiceContextImpl#getLocalContext(java.lang.String)
      */
index e030f7439df47806a78228134ebc00f43ff73af7..8b947d5a54bbdba8d2fcc3b7cfa476932e2db5f2 100644 (file)
 package org.collectionspace.services.common.context;
 
 import java.lang.reflect.Constructor;
+
 import javax.ws.rs.core.UriInfo;
 
+import org.collectionspace.services.common.CollectionSpaceResource;
 import org.collectionspace.services.common.ResourceMap;
 import org.collectionspace.services.common.ServiceMain;
 import org.collectionspace.services.common.config.ConfigUtils;
@@ -33,7 +35,6 @@ import org.collectionspace.services.common.config.TenantBindingConfigReaderImpl;
 import org.collectionspace.services.common.security.UnauthorizedException;
 import org.collectionspace.services.config.service.ServiceBindingType;
 import org.collectionspace.services.config.tenant.TenantBindingType;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -176,6 +177,7 @@ public class RemoteServiceContextImpl<IT, OT>
     /**
      * @return the map of service names to resource classes.
      */
+    @Override
     public ResourceMap getResourceMap() {
        ResourceMap result = resourceMap;
        
@@ -185,7 +187,7 @@ public class RemoteServiceContextImpl<IT, OT>
        
        return result;
     }
-
+    
     /**
      * @param map the map of service names to resource instances.
      */
@@ -211,4 +213,10 @@ public class RemoteServiceContextImpl<IT, OT>
         ServiceContext ctx = (ServiceContext) ctor.newInstance(getServiceName());
         return ctx;
     }
+
+       @Override
+       public CollectionSpaceResource<IT, OT> getResource() throws Exception {
+               // TODO Auto-generated method stub
+               throw new RuntimeException("Unimplemented method.");
+       }
 }
index 0cb4cf8f2b89d93005e76052f9dc2350fff3ed0a..4c4ec4dc57b0376e1599d79500f71aed2210993a 100644 (file)
@@ -30,6 +30,7 @@ import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.UriInfo;
 
 import org.collectionspace.services.client.CollectionSpaceClient;
+import org.collectionspace.services.common.CollectionSpaceResource;
 import org.collectionspace.services.common.ResourceMap;
 import org.collectionspace.services.common.document.DocumentHandler;
 import org.collectionspace.services.common.document.ValidatorHandler;
@@ -235,6 +236,12 @@ public interface ServiceContext<IT, OT> {
      */
     public void setOutput(OT output);
 
+    /**
+     * @return the JAX-RS resource of service for the current context.
+     * @throws Exception 
+     */
+    public CollectionSpaceResource<IT, OT> getResource() throws Exception;
+
     /**
      * @return the map of service names to resource classes.
      */
index 897b587daba44e76b5579c87267d1de1d04e6166..b0d29fcb30f42f0dd28f7a0f97f2daa6e72a1d83 100644 (file)
@@ -28,6 +28,8 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import javax.ws.rs.core.Response;
+
 import org.nuxeo.ecm.core.api.ClientException;
 import org.nuxeo.ecm.core.api.DocumentModel;
 import org.nuxeo.ecm.core.api.DocumentModelList;
@@ -35,15 +37,14 @@ import org.nuxeo.ecm.core.api.model.Property;
 import org.nuxeo.ecm.core.api.model.PropertyException;
 import org.nuxeo.ecm.core.api.model.PropertyNotFoundException;
 import org.nuxeo.ecm.core.api.model.impl.primitives.StringProperty;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import org.collectionspace.services.client.CollectionSpaceClient;
 import org.collectionspace.services.client.IQueryManager;
 import org.collectionspace.services.client.IRelationsManager;
 import org.collectionspace.services.client.PoxPayloadIn;
 import org.collectionspace.services.client.PoxPayloadOut;
+import org.collectionspace.services.common.CSWebApplicationException;
 import org.collectionspace.services.common.ServiceMain;
 import org.collectionspace.services.common.StoredValuesUriTemplate;
 import org.collectionspace.services.common.UriTemplateFactory;
@@ -86,13 +87,107 @@ public class RefNameServiceUtils {
     };
 
     public static class Specifier {
+        //
+        // URN statics for things like urn:cspace:name(grover)
+        //
+        final static String URN_PREFIX = "urn:cspace:";
+        final static int URN_PREFIX_LEN = URN_PREFIX.length();
+        final static String URN_PREFIX_NAME = "name(";
+        final static int URN_NAME_PREFIX_LEN = URN_PREFIX_LEN + URN_PREFIX_NAME.length();
+        final static String URN_PREFIX_ID = "id(";
+        final static int URN_ID_PREFIX_LEN = URN_PREFIX_LEN + URN_PREFIX_ID.length();
+       
         public SpecifierForm form;
         public String value;
+        public String urnValue;
 
         public Specifier(SpecifierForm form, String value) {
             this.form = form;
             this.value = value;
         }
+        
+        /*
+         *  identifier can be a CSID form like a8ad38ec-1d7d-4bf2-bd31 or a URN form like urn:cspace:name(shortid) or urn:cspace:id(a8ad38ec-1d7d-4bf2-bd31)
+         *
+         */
+        public static Specifier getSpecifier(String identifier) throws CSWebApplicationException {
+               return getSpecifier(identifier, "NO-OP", "NO-OP");
+        }
+
+        /*
+         *  identifier can be a CSID form like a8ad38ec-1d7d-4bf2-bd31 or a URN form like urn:cspace:name(shortid) or urn:cspace:id(a8ad38ec-1d7d-4bf2-bd31)
+         *
+         */
+        public static Specifier getSpecifier(String identifier, String method, String op) throws CSWebApplicationException {
+               Specifier result = null;
+
+               if (identifier != null) {
+                if (!identifier.startsWith(URN_PREFIX)) {
+                    // We'll assume it is a CSID and complain if it does not match
+                    result = new Specifier(SpecifierForm.CSID, identifier);
+                } else {
+                    if (identifier.startsWith(URN_PREFIX_NAME, URN_PREFIX_LEN)) {
+                        int closeParen = identifier.indexOf(')', URN_NAME_PREFIX_LEN);
+                        if (closeParen >= 0) {
+                            result = new Specifier(SpecifierForm.URN_NAME,
+                                    identifier.substring(URN_NAME_PREFIX_LEN, closeParen));
+                        }
+                    } else if (identifier.startsWith(URN_PREFIX_ID, URN_PREFIX_LEN)) {
+                        int closeParen = identifier.indexOf(')', URN_ID_PREFIX_LEN);
+                        if (closeParen >= 0) {
+                            result = new Specifier(SpecifierForm.CSID,
+                                    identifier.substring(URN_ID_PREFIX_LEN, closeParen));
+                        }
+                    } else {
+                        logger.error(method + ": bad or missing specifier!");
+                        Response response = Response.status(Response.Status.BAD_REQUEST).entity(
+                                op + " failed on bad or missing Authority specifier").type(
+                                "text/plain").build();
+                        throw new CSWebApplicationException(response);
+                    }
+                }
+            }
+            
+            return result;
+        }
+        
+        /**
+         * Creates a refName in the name / shortIdentifier form.
+         *
+         * @param shortId a shortIdentifier for an authority or one of its terms
+         * @return a refName for that authority or term, in the name / shortIdentifier form.
+         *         If the provided shortIdentifier is null or empty, returns
+         *         the empty string.
+         */
+        public static String createShortIdURNValue(String shortId) {
+               String result = null;
+               
+            if (shortId != null || !shortId.trim().isEmpty()) {
+                result = String.format("urn:cspace:name(%s)", shortId);
+            }
+            
+            return result;
+        }        
+        
+        /**
+         * Returns a URN string identifier -e.g., urn:cspace:name(patrick) or urn:cspace:id(579d18a6-b464-4b11-ba3a)
+         * 
+         * @return
+         * @throws Exception
+         */
+        public String getURNValue() throws Exception {
+               String result = null;
+               
+               if (form == SpecifierForm.CSID) {
+                       result = String.format("urn:cspace:id(%s)", value);
+               } else if (form == SpecifierForm.URN_NAME) {
+                       result = String.format("urn:cspace:name(%s)", value);
+               } else {
+                       throw new Exception(String.format("Unknown specifier form '%s'.", form));
+               }
+               
+               return result;
+        }
     }
     
     public static class AuthorityItemSpecifier {
@@ -104,6 +199,11 @@ public class RefNameServiceUtils {
                this.itemSpecifier = itemSpecifier;
        }
        
+       public AuthorityItemSpecifier(SpecifierForm form, String parentCsidOrShortId, String itemCsidOrShortId) {
+               this.parentSpecifier = new Specifier(form, parentCsidOrShortId);
+               this.itemSpecifier = new Specifier(form, itemCsidOrShortId);
+       }       
+       
        public Specifier getParentSpecifier() {
                return this.parentSpecifier;
        }