<!-- Repeatable fields are commented out for now until we -->
<!-- identify how to represent these complex types in layouts. -->
<!-- <row><widget>contactName</widget></row>-->
- <row><widget>foundingDate</widget></row>
- <row><widget>dissolutionDate</widget></row>
<row><widget>foundingPlace</widget></row>
<!-- <row><widget>group</widget></row> -->
<!-- <row><widget>function</widget></row> -->
</properties>
</widget>
-->
-
- <widget name="foundingDate" type="text">
- <labels>
- <label mode="any">foundingDate</label>
- </labels>
- <translated>true</translated>
- <fields>
- <field schema="organizations_common">foundingDate</field>
- </fields>
- <properties widgetMode="edit">
- <property name="styleClass">dataInputText</property>
- </properties>
- </widget>
-
- <widget name="dissolutionDate" type="text">
- <labels>
- <label mode="any">dissolutionDate</label>
- </labels>
- <translated>true</translated>
- <fields>
- <field schema="organizations_common">dissolutionDate</field>
- </fields>
- <properties widgetMode="edit">
- <property name="styleClass">dataInputText</property>
- </properties>
- </widget>
-
+
<widget name="foundingPlace" type="text">
<labels>
<label mode="any">foundingPlace</label>
<!-- Term Information repeatable group -->
<xs:element name="orgTermGroupList" type="orgTermGroupList"/>
- <xs:element name="foundingDate" type="xs:string"/>
- <xs:element name="dissolutionDate" type="xs:string"/>
+ <xs:element name="foundingDateGroup" type="structuredDateGroup"/>
+ <xs:element name="dissolutionDateGroup" type="structuredDateGroup"/>
<xs:element name="foundingPlace" type="xs:string"/>
<xs:element name="groups">
</xs:sequence>
</xs:complexType>
+ <!-- Before (re)using this generic complex type in any record type -->
+ <!-- other than CollectionObject, be sure to verify that Nuxeo handles -->
+ <!-- that correctly in its table creation/row linking. -->
+ <xs:complexType name="structuredDateGroup">
+ <xs:sequence>
+ <xs:element name="dateDisplayDate" type="xs:string"/>
+ <xs:element name="dateAssociation" type="xs:string"/>
+ <xs:element name="dateEarliestSingleYear" type="xs:integer"/>
+ <xs:element name="dateEarliestSingleMonth" type="xs:integer"/>
+ <xs:element name="dateEarliestSingleDay" type="xs:integer"/>
+ <xs:element name="dateEarliestSingleEra" type="xs:string"/>
+ <xs:element name="dateEarliestSingleCertainty" type="xs:string"/>
+ <xs:element name="dateEarliestSingleQualifier" type="xs:string"/>
+ <xs:element name="dateEarliestSingleQualifierValue" type="xs:integer"/>
+ <xs:element name="dateEarliestSingleQualifierUnit" type="xs:string"/>
+ <xs:element name="dateLatestYear" type="xs:integer"/>
+ <xs:element name="dateLatestMonth" type="xs:integer"/>
+ <xs:element name="dateLatestDay" type="xs:integer"/>
+ <xs:element name="dateLatestEra" type="xs:string"/>
+ <xs:element name="dateLatestCertainty" type="xs:string"/>
+ <xs:element name="dateLatestQualifier" type="xs:string"/>
+ <xs:element name="dateLatestQualifierValue" type="xs:integer"/>
+ <xs:element name="dateLatestQualifierUnit" type="xs:string"/>
+ <xs:element name="datePeriod" type="xs:string"/>
+ <xs:element name="dateNote" type="xs:string"/>
+ <xs:element name="dateEarliestScalarValue" type="xs:date"/>
+ <xs:element name="dateLatestScalarValue" type="xs:date"/>
+ <xs:element name="scalarValuesComputed" type="xs:boolean"/>
+ </xs:sequence>
+ </xs:complexType>
+
</xs:schema>
import org.slf4j.Logger;\r
import org.slf4j.LoggerFactory;\r
\r
+import org.collectionspace.services.organization.StructuredDateGroup;\r
+\r
/**\r
* OrgAuthorityClientUtils.\r
*/\r
contactNames.addAll(values);\r
organization.setContactNames(contactsList);\r
}\r
- if((value = (String)orgInfo.get(OrganizationJAXBSchema.FOUNDING_DATE))!=null)\r
- organization.setFoundingDate(value);\r
- if((value = (String)orgInfo.get(OrganizationJAXBSchema.DISSOLUTION_DATE))!=null)\r
- organization.setDissolutionDate(value);\r
+ if((value = (String)orgInfo.get(OrganizationJAXBSchema.FOUNDING_DATE))!=null) {\r
+ StructuredDateGroup foundingDate = new StructuredDateGroup();\r
+ foundingDate.setDateDisplayDate(value);\r
+ organization.setFoundingDateGroup(foundingDate);\r
+ }\r
+ if((value = (String)orgInfo.get(OrganizationJAXBSchema.DISSOLUTION_DATE))!=null) {\r
+ StructuredDateGroup dissolutionDate = new StructuredDateGroup();\r
+ dissolutionDate.setDateDisplayDate(value);\r
+ organization.setDissolutionDateGroup(dissolutionDate);\r
+ }\r
if((value = (String)orgInfo.get(OrganizationJAXBSchema.FOUNDING_PLACE))!=null)\r
organization.setFoundingPlace(value);\r
if((values = (List<String>)orgRepeatablesInfo.get(OrganizationJAXBSchema.GROUPS))!=null) {\r
<!-- Term Information repeatable group -->
<xs:element name="orgTermGroupList" type="orgTermGroupList"/>
- <xs:element name="foundingDate" type="xs:string"/>
- <xs:element name="dissolutionDate" type="xs:string"/>
+ <xs:element name="foundingDateGroup" type="structuredDateGroup"/>
+ <xs:element name="dissolutionDateGroup" type="structuredDateGroup"/>
<xs:element name="foundingPlace" type="xs:string"/>
<xs:element name="groups" type="groupList"/>
</xs:sequence>
</xs:complexType>
+ <!-- Before (re)using this generic complex type in any record type -->
+ <!-- other than CollectionObject, be sure to verify that Nuxeo handles -->
+ <!-- that correctly in its table creation/row linking. -->
+ <xs:complexType name="structuredDateGroup">
+ <xs:sequence>
+ <xs:element name="dateDisplayDate" type="xs:string"/>
+ <xs:element name="dateAssociation" type="xs:string"/>
+ <xs:element name="dateEarliestSingleYear" type="xs:integer"/>
+ <xs:element name="dateEarliestSingleMonth" type="xs:integer"/>
+ <xs:element name="dateEarliestSingleDay" type="xs:integer"/>
+ <xs:element name="dateEarliestSingleEra" type="xs:string"/>
+ <xs:element name="dateEarliestSingleCertainty" type="xs:string"/>
+ <xs:element name="dateEarliestSingleQualifier" type="xs:string"/>
+ <xs:element name="dateEarliestSingleQualifierValue" type="xs:integer"/>
+ <xs:element name="dateEarliestSingleQualifierUnit" type="xs:string"/>
+ <xs:element name="dateLatestYear" type="xs:integer"/>
+ <xs:element name="dateLatestMonth" type="xs:integer"/>
+ <xs:element name="dateLatestDay" type="xs:integer"/>
+ <xs:element name="dateLatestEra" type="xs:string"/>
+ <xs:element name="dateLatestCertainty" type="xs:string"/>
+ <xs:element name="dateLatestQualifier" type="xs:string"/>
+ <xs:element name="dateLatestQualifierValue" type="xs:integer"/>
+ <xs:element name="dateLatestQualifierUnit" type="xs:string"/>
+ <xs:element name="datePeriod" type="xs:string"/>
+ <xs:element name="dateNote" type="xs:string"/>
+ <xs:element name="dateEarliestScalarValue" type="xs:date"/>
+ <xs:element name="dateLatestScalarValue" type="xs:date"/>
+ <xs:element name="scalarValuesComputed" type="xs:boolean"/>
+ </xs:sequence>
+ </xs:complexType>
+
</xs:schema>