4920: CKAN Metadata Profile advancements: provide vocabulary fields single selection or multi and tag field
Task-Url: https://support.d4science.org/issues/4920 Updated pom version at 2.0.0 Added datatype field Added isMultiSelection attribute git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-catalogue/gcubedatacatalogue-metadata-discovery@131295 82a268e6-3cf1-43bd-a215-b396298e98cffeature/17423
parent
510f9b9284
commit
0a7ba37651
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<metadataformat>
|
||||
<metadatafield>
|
||||
<fieldName>Name</fieldName>
|
||||
<mandatory>true</mandatory>
|
||||
<dataType>Date</dataType>
|
||||
<defaulValue>default value</defaulValue>
|
||||
<note>shown as suggestions in the insert/update metadata form of CKAN</note>
|
||||
<vocabulary isMultiSelection="true">
|
||||
<vocabularyField>field1</vocabularyField>
|
||||
<vocabularyField>field2</vocabularyField>
|
||||
<vocabularyField>field3</vocabularyField>
|
||||
</vocabulary>
|
||||
<validator>
|
||||
<regularExpression>a regular expression for validating values</regularExpression>
|
||||
</validator>
|
||||
</metadatafield>
|
||||
<metadatafield>
|
||||
<fieldName>Accessibility</fieldName>
|
||||
<mandatory>true</mandatory>
|
||||
<dataType>String</dataType>
|
||||
<defaulValue>virtual/public</defaulValue>
|
||||
<note>shown as suggestions in the insert metadata form of CKAN</note>
|
||||
<vocabulary isMultiSelection="false">
|
||||
<vocabularyField>virtual/public</vocabularyField>
|
||||
<vocabularyField>virtual/private</vocabularyField>
|
||||
<vocabularyField>transactional</vocabularyField>
|
||||
</vocabulary>
|
||||
<validator>
|
||||
<regularExpression>a regular expression for validating values</regularExpression>
|
||||
</validator>
|
||||
</metadatafield>
|
||||
</metadataformat>
|
@ -0,0 +1,35 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
package org.gcube.datacatalogue.metadatadiscovery.adapter;
|
||||
|
||||
import javax.xml.bind.annotation.adapters.XmlAdapter;
|
||||
|
||||
import org.gcube.datacatalogue.metadatadiscovery.bean.jaxb.DataType;
|
||||
|
||||
|
||||
/**
|
||||
* The Class DataTypeAdapter.
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* Sep 12, 2016
|
||||
*/
|
||||
public class DataTypeAdapter extends XmlAdapter<String, DataType> {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see javax.xml.bind.annotation.adapters.XmlAdapter#marshal(java.lang.Object)
|
||||
*/
|
||||
public String marshal(DataType dt) {
|
||||
|
||||
return dt.name();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see javax.xml.bind.annotation.adapters.XmlAdapter#unmarshal(java.lang.Object)
|
||||
*/
|
||||
public DataType unmarshal(String dt) {
|
||||
|
||||
return DataType.fromValue(dt);
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.datacatalogue.metadatadiscovery.bean.jaxb;
|
||||
|
||||
import javax.xml.bind.annotation.XmlEnum;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* The Enum DataType.
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* Sep 12, 2016
|
||||
*/
|
||||
@XmlType(name = "datatype")
|
||||
@XmlEnum
|
||||
public enum DataType {
|
||||
|
||||
String,
|
||||
Date,
|
||||
Text,
|
||||
Boolean,
|
||||
Number;
|
||||
|
||||
/**
|
||||
* Value.
|
||||
*
|
||||
* @return the string
|
||||
*/
|
||||
public String value() {
|
||||
return name();
|
||||
}
|
||||
|
||||
/**
|
||||
* From value.
|
||||
*
|
||||
* @param v the v
|
||||
* @return the data type
|
||||
*/
|
||||
public static DataType fromValue(String v) {
|
||||
DataType vv;
|
||||
try{
|
||||
vv = valueOf(v);
|
||||
}catch(Exception e){
|
||||
return DataType.String;
|
||||
}
|
||||
|
||||
return vv;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue