diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index ca401f8..32c4901 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -6,7 +6,7 @@ uses - + uses diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/Base.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/Base.java index 7d6cf7c..f9ae3a5 100644 --- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/Base.java +++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/Base.java @@ -21,7 +21,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it) */ @JsonIgnoreProperties(ignoreUnknown = true) -public class Base { +public abstract class Base { private static final List FIELDS_TO_IGNORE = Arrays.asList( Constants.AUTHOR, Constants.AUTHOR_CONTACT, Constants.SYSTEM_TYPE_CUSTOM_KEY, Constants.GRSF_TYPE_JSON_KEY, diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/Common.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/Common.java index bc4046a..6d22133 100644 --- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/Common.java +++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/Common.java @@ -26,9 +26,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; * Information that both Stock and Fishery records must contain. * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it) */ -public class Common extends Base{ +public abstract class Common extends Base{ - // it is added in case of GRSF record @JsonProperty(Constants.DATA_OWNER_JSON_KEY) @CustomField(key=Constants.DATA_OWNER_CUSTOM_KEY) private List dataOwner; @@ -53,9 +52,14 @@ public class Common extends Base{ @JsonProperty(Constants.TRACEABILITY_FLAG_JSON_KEY) @CustomField(key=Constants.TRACEABILITY_FLAG_CUSTOM_KEY) - @Group(condition="true", groupNameOverValue="traceability-flag") // record is added to group traceability-flag if Traceability Flag is true + @Group(condition="true", groupNameOverValue=Constants.TRACEABILITY_FLAG_GROUP_NAME) // record is added to group traceability-flag if Traceability Flag is true private Boolean traceabilityFlag; + @JsonProperty(Constants.SDG_FLAG_JSON_KEY) + @CustomField(key=Constants.SDG_FLAG_CUSTOM_KEY) + @Group(condition="true", groupNameOverValue=Constants.SDG_FLAG_GROUP_NAME) // record is added to group sdg-flag if sdg Flag is true + private Boolean sdgFlag; + @JsonProperty(Constants.STATUS_OF_THE_GRSF_RECORD_JSON_KEY) @CustomField(key=Constants.STATUS_OF_THE_GRSF_RECORD_CUSTOM_KEY) //@Tag @@ -331,21 +335,28 @@ public class Common extends Base{ this.annotations = annotations; } + public Boolean getSdgFlag() { + return sdgFlag; + } + + public void setSdgFlag(Boolean sdgFlag) { + this.sdgFlag = sdgFlag; + } + @Override public String toString() { return "Common [dataOwner=" + dataOwner + ", databaseSources=" + databaseSources + ", sourceOfInformation=" + sourceOfInformation + ", refersTo=" + refersTo + ", shortName=" + shortName + ", traceabilityFlag=" - + traceabilityFlag + ", status=" + status + ", systemType=" - + systemType + ", catches=" + catches + ", landings=" - + landings + ", species=" + species + ", similarGRSFRecords=" - + similarGRSFRecords + ", similarSourceRecords=" - + similarSourceRecords + ", domain=" + domain + ", uuid=" - + uuid + ", managementBodyAuthorities=" - + managementBodyAuthorities + ", spatial=" + spatial - + ", connectedBeans=" + connectedBeans + ", annotations=" - + annotations + "]"; + + traceabilityFlag + ", sdgFlag=" + sdgFlag + ", status=" + + status + ", systemType=" + systemType + ", catches=" + + catches + ", landings=" + landings + ", species=" + species + + ", similarGRSFRecords=" + similarGRSFRecords + + ", similarSourceRecords=" + similarSourceRecords + + ", domain=" + domain + ", uuid=" + uuid + + ", managementBodyAuthorities=" + managementBodyAuthorities + + ", spatial=" + spatial + ", connectedBeans=" + connectedBeans + + ", annotations=" + annotations + "]"; } - } \ No newline at end of file diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/StockRecord.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/StockRecord.java index a7af836..3cbd4b8 100644 --- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/StockRecord.java +++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/StockRecord.java @@ -173,7 +173,7 @@ public class StockRecord extends Common{ } public void setStockId(String stockId) { - this.stockId = stockId;//super.cleanSemanticId(stockId); + this.stockId = stockId; } public List getArea() { diff --git a/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java index 8a8348b..a5c3c9e 100644 --- a/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java +++ b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java @@ -29,7 +29,6 @@ import org.gcube.data_catalogue.grsf_publish_ws.custom_annotations.Group; import org.gcube.data_catalogue.grsf_publish_ws.custom_annotations.Tag; import org.gcube.data_catalogue.grsf_publish_ws.json.input.others.Resource; import org.gcube.data_catalogue.grsf_publish_ws.json.input.others.TimeSeriesBean; -import org.gcube.data_catalogue.grsf_publish_ws.json.input.record.Common; import org.gcube.data_catalogue.grsf_publish_ws.json.input.record.FisheryRecord; import org.gcube.data_catalogue.grsf_publish_ws.json.input.record.StockRecord; import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods; @@ -379,38 +378,6 @@ public class JTests { } - //@Test - public void fatherGroupAnnotation(){ - - Common commonRecord = new Common(); - commonRecord.setStatus(Status.Approved); - - commonRecord.getStatus(); - - Class current = commonRecord.getClass(); - do{ - Field[] fields = current.getDeclaredFields(); - for (Field field : fields) { - if(field.isAnnotationPresent(Group.class)){ - - logger.debug("Field is " + field.getType() + " and " + field.getType().isEnum()); - // check if the field is an enumerator, and the enum class is also annotated with @Group - if(field.getClass().isEnum() && field.getClass().isAnnotationPresent(Group.class)){ - - // extract the name from the enum class and add it to the groups - // also convert to the group name that should be on ckan - String groupName = HelperMethods.getGroupNameOnCkan(field.getClass().getSimpleName()); - logger.debug("Name is " +groupName ); - - } - - } - } - } - while((current = current.getSuperclass())!=null); // start from the inherited class up to the Object.class - - } - //@Test public void testHierarchy() throws Exception{ String name = "low-abundance";