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
This commit is contained in:
Francesco Mangiacrapa 2017-03-23 17:46:40 +00:00
parent 6f4b3c0397
commit 8db8f5baad
5 changed files with 75 additions and 10 deletions

View File

@ -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 = ":";
}

View File

@ -128,6 +128,4 @@ public class MetadataType implements Serializable{
return builder.toString();
}
}

View File

@ -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();
}
}

View File

@ -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();
}

View File

@ -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) {