From eda283325a7942500fb3e92b9cacc50e431eecec Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Tue, 21 Mar 2017 16:44:05 +0000 Subject: [PATCH] TaggingGroupingValue enhanced git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-catalogue/gcubedatacatalogue-metadata-discovery@146251 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../bean/jaxb/MetadataGrouping.java | 56 ++++++++++++++ .../bean/jaxb/MetadataTagging.java | 76 +++++++++++++++++++ .../bean/jaxb/TaggingGroupingValue.java | 36 ++++++--- .../TestJaxbMetadataMarshUnmarsh.java | 8 +- 4 files changed, 162 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataGrouping.java b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataGrouping.java index f2738f0..f22578c 100644 --- a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataGrouping.java +++ b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataGrouping.java @@ -8,6 +8,7 @@ import java.io.Serializable; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; @@ -32,6 +33,7 @@ public class MetadataGrouping implements Serializable{ private Boolean create = false; @XmlJavaTypeAdapter(TaggingGroupingAdapter.class) + @XmlElement(required=true) private TaggingGroupingValue groupingValue = null; /** @@ -39,4 +41,58 @@ public class MetadataGrouping implements Serializable{ */ public MetadataGrouping() { } + + + /** + * @return the create + */ + public Boolean getCreate() { + + return create; + } + + + /** + * @return the groupingValue + */ + public TaggingGroupingValue getGroupingValue() { + + return groupingValue; + } + + + /** + * @param create the create to set + */ + public void setCreate(Boolean create) { + + this.create = create; + } + + + /** + * @param groupingValue the groupingValue to set + */ + public void setGroupingValue(TaggingGroupingValue groupingValue) { + + this.groupingValue = groupingValue; + } + + + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + + StringBuilder builder = new StringBuilder(); + builder.append("MetadataGrouping [create="); + builder.append(create); + builder.append(", groupingValue="); + builder.append(groupingValue); + builder.append("]"); + return builder.toString(); + } + + } diff --git a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataTagging.java b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataTagging.java index 104f0ee..f9f4b97 100644 --- a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataTagging.java +++ b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataTagging.java @@ -8,6 +8,7 @@ import java.io.Serializable; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; @@ -30,6 +31,7 @@ public class MetadataTagging implements Serializable{ private String separator = ":"; @XmlJavaTypeAdapter(TaggingGroupingAdapter.class) + @XmlElement(required=true) private TaggingGroupingValue taggingValue = null; /** @@ -42,4 +44,78 @@ public class MetadataTagging implements Serializable{ */ public MetadataTagging() { } + + + /** + * @return the create + */ + public Boolean getCreate() { + + return create; + } + + + /** + * @return the separator + */ + public String getSeparator() { + + return separator; + } + + + /** + * @return the taggingValue + */ + public TaggingGroupingValue getTaggingValue() { + + return taggingValue; + } + + + /** + * @param create the create to set + */ + public void setCreate(Boolean create) { + + this.create = create; + } + + + /** + * @param separator the separator to set + */ + public void setSeparator(String separator) { + + this.separator = separator; + } + + + /** + * @param taggingValue the taggingValue to set + */ + public void setTaggingValue(TaggingGroupingValue taggingValue) { + + this.taggingValue = taggingValue; + } + + + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + + StringBuilder builder = new StringBuilder(); + builder.append("MetadataTagging [create="); + builder.append(create); + builder.append(", separator="); + builder.append(separator); + builder.append(", taggingValue="); + builder.append(taggingValue); + builder.append("]"); + return builder.toString(); + } + + } diff --git a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/TaggingGroupingValue.java b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/TaggingGroupingValue.java index e2451c9..2926dc5 100644 --- a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/TaggingGroupingValue.java +++ b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/TaggingGroupingValue.java @@ -12,8 +12,22 @@ package org.gcube.datacatalogue.metadatadiscovery.bean.jaxb; */ public enum TaggingGroupingValue { - onFieldName, - onValue; + onFieldName("onFieldName"), + onValue("onValue"), + onFieldName_onValue("onFieldName onValue"), + onValue_onFieldName("onValue onFieldName"); + + private String value; + + /** + * Instantiates a new tagging grouping value. + * + * @param value the value + */ + TaggingGroupingValue(String value) { + this.value = value; + } + /** * Value. @@ -21,24 +35,28 @@ public enum TaggingGroupingValue { * @return the string */ public String value() { - return name(); + return this.value; } + /** * From value. * - * @param v the v - * @return the tagging grouping value + * @param value the value + * @return the TaggingGroupingValue matching the input value or default value {@link TaggingGroupingValue#onValue} */ - public static TaggingGroupingValue fromValue(String v) { - TaggingGroupingValue vv; + public static TaggingGroupingValue fromValue(String value) { + try{ - vv = valueOf(v); + for (TaggingGroupingValue tgv : TaggingGroupingValue.values()) { + if(tgv.value.equals(value)) + return tgv; + } }catch(Exception e){ return TaggingGroupingValue.onValue; } - return vv; + return TaggingGroupingValue.onValue; } } diff --git a/src/test/java/org/gcube/datacatalogue/metadatadiscovery/TestJaxbMetadataMarshUnmarsh.java b/src/test/java/org/gcube/datacatalogue/metadatadiscovery/TestJaxbMetadataMarshUnmarsh.java index bb59f8b..aebe428 100644 --- a/src/test/java/org/gcube/datacatalogue/metadatadiscovery/TestJaxbMetadataMarshUnmarsh.java +++ b/src/test/java/org/gcube/datacatalogue/metadatadiscovery/TestJaxbMetadataMarshUnmarsh.java @@ -117,15 +117,13 @@ public class TestJaxbMetadataMarshUnmarsh { //We had written this file in marshalling example MetadataFormat mtds = (MetadataFormat) jaxbUnmarshaller.unmarshal(new File(tmpFileXML)); - for(MetadataField mtd : mtds.getMetadataFields()) - { - System.out.println("Unmarshall: "+mtd); - } + System.out.println(mtds); + } public static void main(String[] args) { - System.out.println(DataType.valueOf("aa")); + //System.out.println(DataType.valueOf("aa")); } }