From 502ba899f7d4e7ca5a91799b3f347d616565fcc0 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Wed, 20 Jan 2021 15:53:00 +0100 Subject: [PATCH] Fixed bug on property type name representation --- .../types/PropertyTypeName.java | 4 ++-- .../utils/discovery/ISMDiscoveryTest.java | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gcube/informationsystem/types/PropertyTypeName.java b/src/main/java/org/gcube/informationsystem/types/PropertyTypeName.java index 0bee002..fee73ef 100644 --- a/src/main/java/org/gcube/informationsystem/types/PropertyTypeName.java +++ b/src/main/java/org/gcube/informationsystem/types/PropertyTypeName.java @@ -310,9 +310,9 @@ public class PropertyTypeName { stringBuffer.append(","); } if(genericBaseType!=null) { - stringBuffer.append(genericBaseType.toString()); - }else { stringBuffer.append(genericClassName); + }else { + stringBuffer.append(genericBaseType.toString()); } stringBuffer.append(">"); break; diff --git a/src/test/java/org/gcube/informationsystem/utils/discovery/ISMDiscoveryTest.java b/src/test/java/org/gcube/informationsystem/utils/discovery/ISMDiscoveryTest.java index 39a6cf7..2b3e612 100644 --- a/src/test/java/org/gcube/informationsystem/utils/discovery/ISMDiscoveryTest.java +++ b/src/test/java/org/gcube/informationsystem/utils/discovery/ISMDiscoveryTest.java @@ -12,6 +12,7 @@ import org.gcube.informationsystem.base.reference.properties.PropertyElement; import org.gcube.informationsystem.base.reference.relations.RelationElement; import org.gcube.informationsystem.types.TypeMapper; import org.gcube.informationsystem.types.reference.Type; +import org.gcube.informationsystem.types.reference.properties.PropertyDefinition; import org.gcube.informationsystem.types.reference.properties.PropertyType; import org.gcube.informationsystem.utils.TypeVersion; import org.junit.Assert; @@ -131,4 +132,19 @@ public class ISMDiscoveryTest { ElementSpecilizationDiscovery.manageISM(schemaAction , packages); } + + @Test + public void testTypeDefinition() throws Exception { + Class clz = PropertyType.class; + Type type = TypeMapper.createTypeDefinition(clz); + Assert.assertTrue(type.getName().compareTo(PropertyType.NAME)==0); + for(PropertyDefinition propertyDefinition : type.getProperties()) { + if(propertyDefinition.getName().compareTo(PropertyType.PROPERTIES_PROPERTY)==0) { + logger.debug("{}", propertyDefinition); + Assert.assertTrue(propertyDefinition.getType().compareTo("Set")==0); + } + } + String typeDefinitionJsonString = TypeMapper.serializeTypeDefinition(type); + logger.debug(typeDefinitionJsonString); + } }