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";