From 8db8f5baade9c2a188bf58ffe5563c283c5bd71c Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Thu, 23 Mar 2017 17:46:40 +0000 Subject: [PATCH] added code to manage namespace for metadatacategory and metadatafield git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-catalogue/gcubedatacatalogue-metadata-discovery@146304 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../metadatadiscovery/MetadataNamespace.java | 15 ++++++++ .../metadatadiscovery/bean/MetadataType.java | 2 - .../bean/jaxb/MetadataCategory.java | 37 ++++++++++++++++--- .../bean/jaxb/MetadataField.java | 27 ++++++++++++++ ...TestDataCatalogueMetadataFormatReader.java | 4 +- 5 files changed, 75 insertions(+), 10 deletions(-) create mode 100644 src/main/java/org/gcube/datacatalogue/metadatadiscovery/MetadataNamespace.java diff --git a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/MetadataNamespace.java b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/MetadataNamespace.java new file mode 100644 index 0000000..998c818 --- /dev/null +++ b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/MetadataNamespace.java @@ -0,0 +1,15 @@ +/** + * + */ +package org.gcube.datacatalogue.metadatadiscovery; + + +/** + * + * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it + * Mar 23, 2017 + */ +public interface MetadataNamespace { + + public static final String Separator = ":"; +} diff --git a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/MetadataType.java b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/MetadataType.java index 7953e1b..4203299 100644 --- a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/MetadataType.java +++ b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/MetadataType.java @@ -128,6 +128,4 @@ public class MetadataType implements Serializable{ return builder.toString(); } - - } diff --git a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataCategory.java b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataCategory.java index 94c0b4c..a1fadc3 100644 --- a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataCategory.java +++ b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataCategory.java @@ -10,6 +10,9 @@ 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.XmlTransient; + +import org.gcube.datacatalogue.metadatadiscovery.MetadataNamespace; /** @@ -35,6 +38,8 @@ public class MetadataCategory implements Serializable{ private String description = null; + @XmlTransient + private String namespaceCategory = null; /** * Instantiates a new metadata category. @@ -52,12 +57,10 @@ public class MetadataCategory implements Serializable{ public MetadataCategory(String id, String title) { super(); - this.id = id; + setId(id); this.title = title; } - - /** * Instantiates a new metadata category. * @@ -68,12 +71,11 @@ public class MetadataCategory implements Serializable{ public MetadataCategory(String id, String title, String description) { super(); - this.id = id; + setId(id); this.title = title; this.description = description; } - /** * Gets the id. * @@ -115,6 +117,16 @@ public class MetadataCategory implements Serializable{ public void setId(String id) { this.id = id; + setNamespaceCategory(); + } + + /** + * Sets the namespace category. + */ + private void setNamespaceCategory() { + + this.namespaceCategory = "metadatacategory"+MetadataNamespace.Separator+id; + } @@ -140,6 +152,17 @@ public class MetadataCategory implements Serializable{ } + /** + * Gets the namespace category. + * + * @return the namespace category + */ + public String getNamespaceCategory() { + + return namespaceCategory; + } + + /* (non-Javadoc) * @see java.lang.Object#toString() */ @@ -153,8 +176,12 @@ public class MetadataCategory implements Serializable{ builder.append(title); builder.append(", description="); builder.append(description); + builder.append(", namespaceCategory="); + builder.append(namespaceCategory); builder.append("]"); return builder.toString(); } + + } diff --git a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataField.java b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataField.java index 0fc2c83..a60ad43 100644 --- a/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataField.java +++ b/src/main/java/org/gcube/datacatalogue/metadatadiscovery/bean/jaxb/MetadataField.java @@ -10,8 +10,10 @@ 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.XmlTransient; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import org.gcube.datacatalogue.metadatadiscovery.MetadataNamespace; import org.gcube.datacatalogue.metadatadiscovery.adapter.DataTypeAdapter; @@ -57,6 +59,9 @@ public class MetadataField implements Serializable{ @XmlElement(name = "grouping") private MetadataGrouping grouping; + @XmlTransient + private String namespaceFieldToCategoryReference = null; + /** * Instantiates a new metadata field. */ @@ -91,8 +96,28 @@ public class MetadataField implements Serializable{ public void setCategoryRef(String categoryRef) { this.categoryRef = categoryRef; + setNamespaceFieldToCategoryRef(); } + /** + * + */ + private void setNamespaceFieldToCategoryRef() { + + this.namespaceFieldToCategoryReference = "categoryref"+MetadataNamespace.Separator+categoryRef+MetadataNamespace.Separator+fieldName; + + } + + + /** + * @return the namespaceFieldToCategoryReference + */ + public String getNamespaceFieldToCategoryReference() { + + return namespaceFieldToCategoryReference; + } + + /** * @return the fieldName */ @@ -281,6 +306,8 @@ public class MetadataField implements Serializable{ builder.append(tagging); builder.append(", grouping="); builder.append(grouping); + builder.append(", namespaceFieldToCategoryReference="); + builder.append(namespaceFieldToCategoryReference); builder.append("]"); return builder.toString(); } diff --git a/src/test/java/org/gcube/datacatalogue/metadatadiscovery/TestDataCatalogueMetadataFormatReader.java b/src/test/java/org/gcube/datacatalogue/metadatadiscovery/TestDataCatalogueMetadataFormatReader.java index df37697..80ed6c4 100644 --- a/src/test/java/org/gcube/datacatalogue/metadatadiscovery/TestDataCatalogueMetadataFormatReader.java +++ b/src/test/java/org/gcube/datacatalogue/metadatadiscovery/TestDataCatalogueMetadataFormatReader.java @@ -30,12 +30,10 @@ public class TestDataCatalogueMetadataFormatReader { String scopeString = "/gcube/devNext/NextNext"; ScopeProvider.instance.set(scopeString); DataCalogueMetadataFormatReader reader = new DataCalogueMetadataFormatReader(); - logger.trace(""+reader.getListOfMetadataTypes()); - int i = 0; for (MetadataType mt : reader.getListOfMetadataTypes()) { MetadataFormat metadataFormat = reader.getMetadataFormatForMetadataType(mt); - //logger.trace("\n\n "+ ++i +".) Metadata Format: "+metadataFormat.toString()); + logger.trace("\n\n "+ ++i +".) Metadata source: "+metadataFormat.getMetadataSource().substring(0, 100)); } } catch (Exception e) {