diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 6caf699..cd6b5cc 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -3,6 +3,9 @@
+
+ uses
+
diff --git a/pom.xml b/pom.xml
index 3374c52..c1a6b3a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,6 +48,11 @@
+
+ org.gcube.data-catalogue
+ grsf-common-library
+ 1-0-0-SNAPSHOT
+
org.jsoup
@@ -94,7 +99,6 @@
org.glassfish.jersey.containers
-
jersey-container-servlet-core
${version.jersey}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/ex/ApplicationException.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/ex/ApplicationException.java
index 373a51d..4d94f79 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/ex/ApplicationException.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/ex/ApplicationException.java
@@ -12,7 +12,7 @@ import org.slf4j.LoggerFactory;
* Exception thrown when @Valid fail
* @author Costantino Perciante at ISTI-CNR
*/
-@Provider
+//@Provider
public class ApplicationException implements ExceptionMapper {
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(ApplicationException.class);
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/others/Resource.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/others/Resource.java
index ec7240f..337c236 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/others/Resource.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/others/Resource.java
@@ -3,7 +3,7 @@ package org.gcube.data_catalogue.grsf_publish_ws.json.input.others;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
+import org.gcube.datacatalogue.common.enums.Sources;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
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 dadbc1b..584ff65 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
@@ -8,6 +8,7 @@ import java.util.Map;
import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods;
import org.gcube.datacatalogue.ckanutillibrary.shared.ResourceBean;
+import org.gcube.datacatalogue.common.Constants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -21,42 +22,40 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class Base {
private static final List FIELDS_TO_IGNORE = Arrays.asList(
- "author", "author_contact", "stock_uri",
- "fishery_uri", "reference_year", "reporting_year", "water_area",
- "environment", "state_of_marine_resource", "system:type");
+ Constants.AUTHOR, Constants.AUTHOR_CONTACT, Constants.SYSTEM_TYPE_CUSTOM_KEY);
private static Logger logger = LoggerFactory.getLogger(Base.class);
- @JsonProperty("catalog_id") //used on patch/update product call
+ @JsonProperty(Constants.CATALOG_ID) //used on patch/update product call
private String catalogId;
- @JsonProperty("description")
+ @JsonProperty(Constants.DESCRIPTION)
private String description;
- @JsonProperty("license_id")
+ @JsonProperty(Constants.LICENSE_ID)
private String license;
// filled automatically by the service
- @JsonProperty("author")
+ @JsonProperty(Constants.AUTHOR)
private String author;
// filled automatically by the service
- @JsonProperty("author_contact")
+ @JsonProperty(Constants.AUTHOR_CONTACT)
private String authorContact;
- @JsonProperty("version")
+ @JsonProperty(Constants.VERSION)
private Long version;
- @JsonProperty("maintainer")
+ @JsonProperty(Constants.MAINTAINER)
private String maintainer;
- @JsonProperty("maintainer_contact")
+ @JsonProperty(Constants.MAINTAINER_CONTACT)
private String maintainerContact;
- @JsonProperty("extras_fields")
+ @JsonProperty(Constants.EXTRAS_FIELD)
private Map> extrasFields = new HashMap<>();
- @JsonProperty("extras_resources")
+ @JsonProperty(Constants.EXTRAS_RESOURCES)
private List extrasResources = new ArrayList();
public Base() {
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 3ca53a5..2113c8c 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
@@ -15,9 +15,9 @@ import org.gcube.data_catalogue.grsf_publish_ws.json.input.others.RefersToBean;
import org.gcube.data_catalogue.grsf_publish_ws.json.input.others.Resource;
import org.gcube.data_catalogue.grsf_publish_ws.json.input.others.SimilarRecordBean;
import org.gcube.data_catalogue.grsf_publish_ws.json.input.others.TimeSeriesBean;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.CommonServiceUtils;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Status;
+import org.gcube.datacatalogue.common.Constants;
+import org.gcube.datacatalogue.common.enums.Sources;
+import org.gcube.datacatalogue.common.enums.Status;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -26,83 +26,84 @@ 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)
*/
-@JsonIgnoreProperties(value = {"grsf_type", "source"})
+@JsonIgnoreProperties(value = {Constants.GRSF_TYPE_JSON_KEY})
public class Common extends Base{
-
- public static final String UUID_KB_KEY = "GRSF UUID";
- public static final String DOMAIN = "Domain";
// it is added in case of GRSF record
- @JsonProperty("data_owner")
- @CustomField(key="Data owner")
+ @JsonProperty(Constants.DATA_OWNER_JSON_KEY)
+ @CustomField(key=Constants.DATA_OWNER_CUSTOM_KEY)
private List dataOwner;
- @JsonProperty("database_sources")
+ @JsonProperty(Constants.DATABASE_SOURCES_JSON_KEY)
@CkanResource
@Valid
private List> databaseSources;
- @JsonProperty("source_of_information")
+ @JsonProperty(Constants.SOURCES_OF_INFORMATION_JSON_KEY)
@CkanResource
@Valid
private List> sourceOfInformation;
- @JsonProperty("refers_to")
+ @JsonProperty(Constants.REFERS_TO_JSON_KEY)
@Valid
private List refersTo;
- @JsonProperty("short_name")
- @CustomField(key="Short Name")
+ @JsonProperty(Constants.SHORT_NAME_JSON_KEY)
+ @CustomField(key=Constants.SHORT_NAME_CUSTOM_KEY)
private String shortName;
- @JsonProperty("traceability_flag")
- @CustomField(key="Traceability Flag")
+ @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
private Boolean traceabilityFlag;
- @JsonProperty("status_grsf_record")
- @CustomField(key="Status of the GRSF record")
+ @JsonProperty(Constants.STATUS_OF_THE_GRSF_RECORD_JSON_KEY)
+ @CustomField(key=Constants.STATUS_OF_THE_GRSF_RECORD_CUSTOM_KEY)
@Tag
private Status status;
// automatically compiled
- @CustomField(key=CommonServiceUtils.SYSTEM_TYPE)
+ @CustomField(key=Constants.SYSTEM_TYPE_CUSTOM_KEY)
private String systemType;
- @JsonProperty("catches")
- @CustomField(key="Catches")
+ @JsonProperty(Constants.CATCHES_JSON_KEY)
+ @CustomField(key=Constants.CATCHES_CUSTOM_KEY)
@TimeSeries
@Valid
private List> catches;
- @JsonProperty("landings")
- @CustomField(key="Landings")
+ @JsonProperty(Constants.LANDINGS_JSON_KEY)
+ @CustomField(key=Constants.LANDINGS_CUSTOM_KEY)
@TimeSeries
@Valid
private List> landings;
- @JsonProperty("species")
- @CustomField(key="Species")
+ @JsonProperty(Constants.SPECIES_JSON_KEY)
+ @CustomField(key=Constants.SPECIES_CUSTOM_KEY)
@Tag
private List species;
- @JsonProperty("similar_grsf_records")
- @CustomField(key="Similar GRSF Records")
+ @JsonProperty(Constants.SIMILAR_GRSF_RECORDS_JSON_KEY)
+ @CustomField(key=Constants.SIMILAR_GRSF_RECORDS_CUSTOM_KEY)
private List similarGRSFRecords;
- @JsonProperty("similar_source_records")
- @CustomField(key="Similar Source Records")
+ @JsonProperty(Constants.SIMILAR_SOURCE_RECORDS_JSON_KEY)
+ @CustomField(key=Constants.SIMILAR_SOURCE_RECORDS_CUSTOM_KEY)
private List similarSourceRecords;
// automatically set
- @CustomField(key=DOMAIN)
+ @CustomField(key=Constants.DOMAIN_CUSTOM_KEY)
private String domain;
- @JsonProperty("grsf_uuid")
- @CustomField(key=UUID_KB_KEY)
+ @JsonProperty(Constants.UUID_KB_JSON_KEY)
+ @CustomField(key=Constants.UUID_KB_CUSTOM_KEY)
@NotNull(message="grsf_uuid cannot be null")
@Size(min=1, message="grsf_uuid cannot be empty")
private String uuid;
+
+ @JsonProperty(Constants.MANAGEMENT_ENTITIES_JSON_KEY)
+ @CustomField(key=Constants.MANAGEMENT_ENTITIES_CUSTOM_KEY)
+ private List managementBodyAuthorities;
public Common() {
super();
@@ -124,6 +125,7 @@ public class Common extends Base{
* @param similarSourceRecords
* @param domain
* @param uuid
+ * @param managementBodyAuthorities
*/
public Common(List dataOwner,
List> databaseSources,
@@ -134,7 +136,7 @@ public class Common extends Base{
List> landings,
List species, List similarGRSFRecords,
List similarSourceRecords, String domain,
- String uuid) {
+ String uuid, List managementBodyAuthorities) {
super();
this.dataOwner = dataOwner;
this.databaseSources = databaseSources;
@@ -151,6 +153,15 @@ public class Common extends Base{
this.similarSourceRecords = similarSourceRecords;
this.domain = domain;
this.uuid = uuid;
+ this.managementBodyAuthorities = managementBodyAuthorities;
+ }
+
+ public List getManagementBodyAuthorities() {
+ return managementBodyAuthorities;
+ }
+
+ public void setManagementBodyAuthorities(List managementBodyAuthorities) {
+ this.managementBodyAuthorities = managementBodyAuthorities;
}
public String getDomain() {
@@ -304,6 +315,8 @@ public class Common extends Base{
}
+
+
@Override
public String toString() {
return "Common [dataOwner=" + dataOwner + ", databaseSources="
@@ -315,7 +328,8 @@ public class Common extends Base{
+ landings + ", species=" + species + ", similarGRSFRecords="
+ similarGRSFRecords + ", similarSourceRecords="
+ similarSourceRecords + ", domain=" + domain + ", uuid="
- + uuid + "]";
+ + uuid + ", managementBodyAuthorities="
+ + managementBodyAuthorities + "]";
}
}
\ No newline at end of file
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/FisheryRecord.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/FisheryRecord.java
index 0237db0..80d85b3 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/FisheryRecord.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/record/FisheryRecord.java
@@ -8,8 +8,9 @@ import javax.validation.constraints.Size;
import org.gcube.data_catalogue.grsf_publish_ws.custom_annotations.CustomField;
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.utils.groups.Fishery_Type;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Production_System_Type;
+import org.gcube.datacatalogue.common.Constants;
+import org.gcube.datacatalogue.common.enums.Fishery_Type;
+import org.gcube.datacatalogue.common.enums.Production_System_Type;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -21,46 +22,43 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
public class FisheryRecord extends Common{
- @JsonProperty("fishery_name")
+ @JsonProperty(Constants.FISHERY_NAME_JSON_KEY)
@NotNull(message="fishery_name cannot be null")
@Size(min=1, message="fishery_name cannot be empty")
- @CustomField(key="Fishery Name")
+ @CustomField(key=Constants.FISHERY_NAME_CUSTOM_KEY)
private String fisheryName;
- @JsonProperty("grsf_semantic_identifier")
- @CustomField(key="GRSF Semantic identifier")
+ @JsonProperty(Constants.GRSF_SEMANTIC_IDENTIFIER_JSON_KEY)
+ @CustomField(key=Constants.GRSF_SEMANTIC_IDENTIFIER_CUSTOM_KEY)
private String fisheryId;
- @JsonProperty("fishing_area")
- @CustomField(key="Fishing area")
+ @JsonProperty(Constants.FISHING_AREA_JSON_KEY)
+ @CustomField(key=Constants.FISHING_AREA_CUSTOM_KEY)
private List fishingArea;
- @JsonProperty("resources_exploited")
- @CustomField(key="Resources Exploited")
+ @JsonProperty(Constants.RESOURCES_EXPLOITED_JSON_KEY)
+ @CustomField(key=Constants.RESOURCES_EXPLOITED_CUSTOM_KEY)
private List resourcesExploited;
- @JsonProperty("management_body_authorities")
- @CustomField(key="Management Body/Authority(ies)")
- private List managementBodyAuthorities;
- @JsonProperty("jurisdiction_area")
- @CustomField(key="Jurisdiction Area")
+ @JsonProperty(Constants.JURISDICTION_AREA_JSON_KEY)
+ @CustomField(key=Constants.JURISDICTION_AREA_CUSTOM_KEY)
private List jurisdictionArea;
- @JsonProperty("production_system_type")
- @CustomField(key="Type of Production System")
+ @JsonProperty(Constants.PRODUCTION_SYSTEM_TYPE_JSON_KEY)
+ @CustomField(key=Constants.PRODUCTION_SYSTEM_TYPE_CUSTOM_KEY)
private List productionSystemType;
- @JsonProperty("flag_state")
- @CustomField(key="Flag State")
+ @JsonProperty(Constants.FLAG_STATE_JSON_KEY)
+ @CustomField(key=Constants.FLAG_STATE_CUSTOM_KEY)
private List flagState;
- @JsonProperty("fishing_gear")
- @CustomField(key="Fishing gear")
+ @JsonProperty(Constants.FISHING_GEAR_JSON_KEY)
+ @CustomField(key=Constants.FISHING_GEAR_CUSTOM_KEY)
private List fishingGear;
- @JsonProperty("grsf_type")
- @CustomField(key="GRSF Type")
+ @JsonProperty(Constants.GRSF_TYPE_JSON_KEY)
+ @CustomField(key=Constants.GRSF_TYPE_CUSTOM_KEY)
@Group
@Tag
private Fishery_Type type;
@@ -83,7 +81,6 @@ public class FisheryRecord extends Common{
*/
public FisheryRecord(String fisheryName, String fisheryId,
List fishingArea, List resourcesExploited,
- List managementBodyAuthorities,
List jurisdictionArea,
List productionSystemType,
List flagState, List fishingGear, Fishery_Type type) {
@@ -92,7 +89,6 @@ public class FisheryRecord extends Common{
this.fisheryId = fisheryId;
this.fishingArea = fishingArea;
this.resourcesExploited = resourcesExploited;
- this.managementBodyAuthorities = managementBodyAuthorities;
this.jurisdictionArea = jurisdictionArea;
this.productionSystemType = productionSystemType;
this.flagState = flagState;
@@ -148,14 +144,6 @@ public class FisheryRecord extends Common{
this.resourcesExploited = resourcesExploited;
}
- public List getManagementBodyAuthorities() {
- return managementBodyAuthorities;
- }
-
- public void setManagementBodyAuthorities(List managementBodyAuthorities) {
- this.managementBodyAuthorities = managementBodyAuthorities;
- }
-
public List getProductionSystemType() {
return productionSystemType;
}
@@ -186,7 +174,6 @@ public class FisheryRecord extends Common{
return "FisheryRecord [fisheryName=" + fisheryName + ", fisheryId="
+ fisheryId + ", fishingArea=" + fishingArea
+ ", resourcesExploited=" + resourcesExploited
- + ", managementBodyAuthorities=" + managementBodyAuthorities
+ ", jurisdictionArea=" + jurisdictionArea
+ ", productionSystemType=" + productionSystemType
+ ", flagState=" + flagState + ", fishingGear=" + fishingGear
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 37e2e36..ec3f4f6 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
@@ -11,9 +11,10 @@ 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.custom_annotations.TimeSeries;
import org.gcube.data_catalogue.grsf_publish_ws.json.input.others.TimeSeriesBean;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Abundance_Level;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Fishing_Pressure;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Stock_Type;
+import org.gcube.datacatalogue.common.Constants;
+import org.gcube.datacatalogue.common.enums.Abundance_Level;
+import org.gcube.datacatalogue.common.enums.Fishing_Pressure;
+import org.gcube.datacatalogue.common.enums.Stock_Type;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -25,78 +26,74 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
public class StockRecord extends Common{
- @JsonProperty("stock_name")
+ @JsonProperty(Constants.STOCK_NAME_JSON_KEY)
@NotNull(message="stock_name cannot be null")
@Size(min=2, message="stock_name cannot be empty")
- @CustomField(key="Stock Name")
+ @CustomField(key=Constants.STOCK_NAME_CUSTOM_KEY)
private String stockName;
- @JsonProperty("grsf_semantic_identifier")
- @CustomField(key="GRSF Semantic identifier")
+ @JsonProperty(Constants.GRSF_SEMANTIC_IDENTIFIER_JSON_KEY)
+ @CustomField(key=Constants.GRSF_SEMANTIC_IDENTIFIER_CUSTOM_KEY)
private String stockId;
- @JsonProperty("assessment_area")
- @CustomField(key="Assessment Area")
+ @JsonProperty(Constants.ASSESSMENT_AREA_JSON_KEY)
+ @CustomField(key=Constants.ASSESSMENT_AREA_CUSTOM_KEY)
private List area;
- @JsonProperty("exploiting_fishery")
- @CustomField(key="Exploiting Fishery")
+ @JsonProperty(Constants.EXPLOITING_FISHERY_JSON_KEY)
+ @CustomField(key=Constants.EXPLOITING_FISHERY_CUSTOM_KEY)
private List exploitingFishery;
- @JsonProperty("management_body_authorities")
- @CustomField(key="Management Body/Authority(ies)")
- private String managementEntity;
-
- @JsonProperty("assessment_methods")
- @CustomField(key="Assessment Methods")
+ @JsonProperty(Constants.ASSESSMENT_METHODS_JSON_KEY)
+ @CustomField(key=Constants.ASSESSMENT_METHODS_CUSTOM_KEY)
private List assessmentMethods;
- @JsonProperty("firms_standard_abundance_level")
- @CustomField(key="Abundance Level (FIRMS Standard)")
+ @JsonProperty(Constants.FIRMS_ABUNDANCE_LEVEL_JSON_KEY)
+ @CustomField(key=Constants.FIRMS_ABUNDANCE_LEVEL_CUSTOM_KEY)
@TimeSeries
@Valid
private List> abundanceLevelStandard;
- @JsonProperty("abundance_level")
- @CustomField(key="Abundance Level")
+ @JsonProperty(Constants.ABUNDANCE_LEVEL_JSON_KEY)
+ @CustomField(key=Constants.ABUNDANCE_LEVEL_CUSTOM_KEY)
@TimeSeries
@Valid
private List> abundanceLevel;
- @JsonProperty("firms_standard_fishing_pressure")
- @CustomField(key="Fishing Pressure (FIRMS Standard)")
+ @JsonProperty(Constants.FISHING_PRESSURE_FIRMS_JSON_KEY)
+ @CustomField(key=Constants.FISHING_PRESSURE_FIRMS_CUSTOM_KEY)
@TimeSeries
@Valid
private List> fishingPressureStandard;
- @JsonProperty("fishing_pressure")
- @CustomField(key="Fishing Pressure")
+ @JsonProperty(Constants.FISHING_PRESSURE_JSON_KEY)
+ @CustomField(key=Constants.FISHING_PRESSURE_CUSTOM_KEY)
@TimeSeries
@Valid
private List> fishingPressure;
- @JsonProperty("state_and_trend_of_marine_resources")
- @CustomField(key="State and trend of Marine Resource")
+ @JsonProperty(Constants.STATE_AND_TREND_MARINE_RESOURCE_JSON_KEY)
+ @CustomField(key=Constants.STATE_AND_TREND_MARINE_RESOURCE_CUSTOM_KEY)
@TimeSeries
@Valid
private List> narrativeState;
- @JsonProperty("fao_categories")
- @CustomField(key="Fao Categories")
+ @JsonProperty(Constants.FAO_CATEGORIES_JSON_KEY)
+ @CustomField(key=Constants.FAO_CATEGORIES_CUSTOM_KEY)
@TimeSeries
@Valid
private List> faoState;
- @JsonProperty("scientific_advice")
- @CustomField(key="Scientific advice")
+ @JsonProperty(Constants.SCIENTIFIC_ADVICE_JSON_KEY)
+ @CustomField(key=Constants.SCIENTIFIC_ADVICE_CUSTOM_KEY)
private List scientificAdvice;
- @JsonProperty("assessor")
- @CustomField(key="Assessor")
+ @JsonProperty(Constants.ASSESSOR_JSON_KEY)
+ @CustomField(key=Constants.ASSESSOR_CUSTOM_KEY)
private String assessor;
- @JsonProperty("grsf_type")
- @CustomField(key="GRSF Type")
+ @JsonProperty(Constants.GRSF_TYPE_JSON_KEY)
+ @CustomField(key=Constants.GRSF_TYPE_CUSTOM_KEY)
@Group
@Tag
private Stock_Type type;
@@ -127,7 +124,6 @@ public class StockRecord extends Common{
String stockId,
List area,
List exploitingFishery,
- String managementEntity,
List assessmentMethods,
List> abundanceLevelStandard,
List> abundanceLevel,
@@ -141,7 +137,6 @@ public class StockRecord extends Common{
this.stockId = stockId;
this.area = area;
this.exploitingFishery = exploitingFishery;
- this.managementEntity = managementEntity;
this.assessmentMethods = assessmentMethods;
this.abundanceLevelStandard = abundanceLevelStandard;
this.abundanceLevel = abundanceLevel;
@@ -216,14 +211,6 @@ public class StockRecord extends Common{
this.exploitingFishery = exploitingFishery;
}
- public String getManagementEntity() {
- return managementEntity;
- }
-
- public void setManagementEntity(String managementEntity) {
- this.managementEntity = managementEntity;
- }
-
public List> getAbundanceLevelStandard() {
return abundanceLevelStandard;
}
@@ -282,7 +269,6 @@ public class StockRecord extends Common{
public String toString() {
return "StockRecord [stockName=" + stockName + ", stockId=" + stockId
+ ", area=" + area + ", exploitingFishery=" + exploitingFishery
- + ", managementEntity=" + managementEntity
+ ", assessmentMethods=" + assessmentMethods
+ ", abundanceLevelStandard=" + abundanceLevelStandard
+ ", abundanceLevel=" + abundanceLevel
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java
index 9a05cad..7b05252 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java
@@ -30,17 +30,17 @@ import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.authorization.library.utils.Caller;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.data_catalogue.grsf_publish_ws.json.input.others.DeleteRecord;
-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.output.ResponseBean;
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseCreationBean;
import org.gcube.data_catalogue.grsf_publish_ws.utils.CommonServiceUtils;
import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Product_Type;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
import org.gcube.datacatalogue.ckanutillibrary.shared.ResourceBean;
import org.gcube.datacatalogue.ckanutillibrary.shared.RolesCkanGroupOrOrg;
+import org.gcube.datacatalogue.common.Constants;
+import org.gcube.datacatalogue.common.enums.Product_Type;
+import org.gcube.datacatalogue.common.enums.Sources;
import org.slf4j.LoggerFactory;
import eu.trentorise.opendata.jackan.model.CkanDataset;
@@ -141,7 +141,7 @@ public class GrsfPublisherFisheryService {
// check the license id
String license = null;
if(record.getLicense() == null || record.getLicense().isEmpty())
- license = CommonServiceUtils.DEFAULT_LICENSE;
+ license = Constants.DEFAULT_LICENSE;
else
if(HelperMethods.existsLicenseId(record.getLicense(), catalogue))
license = record.getLicense();
@@ -248,7 +248,7 @@ public class GrsfPublisherFisheryService {
}
// check it is in the right source and it is a fishery
- String type = fisheryInCkan.getExtrasAsHashMap().get(Common.DOMAIN);
+ String type = fisheryInCkan.getExtrasAsHashMap().get(Constants.DOMAIN_CUSTOM_KEY);
if(fisheryInCkan.getOrganization().getName().equalsIgnoreCase(source) &&
Product_Type.FISHERY.getOrigName().equals(type)){
@@ -312,7 +312,7 @@ public class GrsfPublisherFisheryService {
for (String id : fullGroupListIds) {
CkanDataset dataset = catalogue.getDataset(id, apiKey);
if(dataset != null){
- String type = dataset.getExtrasAsHashMap().get(Common.DOMAIN);
+ String type = dataset.getExtrasAsHashMap().get(Constants.DOMAIN_CUSTOM_KEY);
if(Product_Type.FISHERY.getOrigName().equals(type))
datasetsIds.add(id);
}
@@ -456,7 +456,7 @@ public class GrsfPublisherFisheryService {
// check the license id
String license = null;
if(record.getLicense() == null || record.getLicense().isEmpty())
- license = CommonServiceUtils.DEFAULT_LICENSE;
+ license = Constants.DEFAULT_LICENSE;
else
if(HelperMethods.existsLicenseId(record.getLicense(), catalogue))
license = record.getLicense();
@@ -468,7 +468,7 @@ public class GrsfPublisherFisheryService {
boolean publicDataset = context.equals((String)contextServlet.getInitParameter(HelperMethods.PUBLIC_CONTEX_KEY));
// add the SYSTEM_TYPE
- customFields.put(CommonServiceUtils.SYSTEM_TYPE, Arrays.asList(sourceInPath.getOrigName()));
+ customFields.put(Constants.SYSTEM_TYPE_CUSTOM_KEY, Arrays.asList(sourceInPath.getOrigName()));
// convert extras' keys to keys with namespace
Map namespaces = HelperMethods.getFieldToFieldNameSpaceMapping(HelperMethods.GENERIC_RESOURCE_NAME_MAP_KEY_NAMESPACES_FISHERY);
@@ -477,9 +477,11 @@ public class GrsfPublisherFisheryService {
throw new Exception("Failed to retrieve the namespaces for the key fields!");
// retrieve the url
- String modifiedUUIDKey = namespaces.containsKey(CommonServiceUtils.ITEM_URL_FIELD) ? namespaces.get(CommonServiceUtils.ITEM_URL_FIELD) : CommonServiceUtils.ITEM_URL_FIELD;
+ String modifiedUUIDKey = namespaces.containsKey(Constants.ITEM_URL_FIELD) ?
+ namespaces.get(Constants.ITEM_URL_FIELD) :
+ Constants.ITEM_URL_FIELD;
String itemUrl = recordPublished.getExtrasAsHashMap().get(modifiedUUIDKey);
- customFields.put(CommonServiceUtils.ITEM_URL_FIELD, Arrays.asList(itemUrl));
+ customFields.put(Constants.ITEM_URL_FIELD, Arrays.asList(itemUrl));
// replace fields
customFields = HelperMethods.replaceFieldsKey(customFields, namespaces, !sourceInPath.equals(Sources.GRSF));
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java
index 54c83f7..72a8c12 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java
@@ -30,17 +30,17 @@ import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.authorization.library.utils.Caller;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.data_catalogue.grsf_publish_ws.json.input.others.DeleteRecord;
-import org.gcube.data_catalogue.grsf_publish_ws.json.input.record.Common;
import org.gcube.data_catalogue.grsf_publish_ws.json.input.record.StockRecord;
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseBean;
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseCreationBean;
import org.gcube.data_catalogue.grsf_publish_ws.utils.CommonServiceUtils;
import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Product_Type;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
import org.gcube.datacatalogue.ckanutillibrary.shared.ResourceBean;
import org.gcube.datacatalogue.ckanutillibrary.shared.RolesCkanGroupOrOrg;
+import org.gcube.datacatalogue.common.Constants;
+import org.gcube.datacatalogue.common.enums.Product_Type;
+import org.gcube.datacatalogue.common.enums.Sources;
import org.slf4j.LoggerFactory;
import eu.trentorise.opendata.jackan.model.CkanDataset;
@@ -155,7 +155,7 @@ public class GrsfPublisherStockService {
// check the license id
String license = null;
if(record.getLicense() == null || record.getLicense().isEmpty())
- license = CommonServiceUtils.DEFAULT_LICENSE;
+ license = Constants.DEFAULT_LICENSE;
else
if(HelperMethods.existsLicenseId(record.getLicense(), catalogue))
license = record.getLicense();
@@ -262,7 +262,7 @@ public class GrsfPublisherStockService {
}
// check it is in the right source and it is a stock
- String type = stockInCkan.getExtrasAsHashMap().get(Common.DOMAIN);
+ String type = stockInCkan.getExtrasAsHashMap().get(Constants.DOMAIN_CUSTOM_KEY);
if(stockInCkan.getOrganization().getName().equalsIgnoreCase(source) &&
Product_Type.STOCK.getOrigName().equals(type)){
@@ -324,7 +324,7 @@ public class GrsfPublisherStockService {
CkanDataset dataset = catalogue.getDataset(id, catalogue.getApiKeyFromUsername(username));
if(dataset != null){
- String type = dataset.getExtrasAsHashMap().get(Common.DOMAIN);
+ String type = dataset.getExtrasAsHashMap().get(Constants.DOMAIN_CUSTOM_KEY);
if(Product_Type.STOCK.getOrigName().equals(type))
datasetsIds.add(id);
}
@@ -463,7 +463,7 @@ public class GrsfPublisherStockService {
// check the license id
String license = null;
if(record.getLicense() == null || record.getLicense().isEmpty())
- license = CommonServiceUtils.DEFAULT_LICENSE;
+ license = Constants.DEFAULT_LICENSE;
else
if(HelperMethods.existsLicenseId(record.getLicense(), catalogue))
license = record.getLicense();
@@ -475,7 +475,7 @@ public class GrsfPublisherStockService {
boolean publicDataset = context.equals((String)contextServlet.getInitParameter(HelperMethods.PUBLIC_CONTEX_KEY));
// add the SYSTEM_TYPE
- customFields.put(CommonServiceUtils.SYSTEM_TYPE, Arrays.asList(sourceInPath.getOrigName()));
+ customFields.put(Constants.SYSTEM_TYPE_CUSTOM_KEY, Arrays.asList(sourceInPath.getOrigName()));
// convert extras' keys to keys with namespace
Map namespaces = HelperMethods.getFieldToFieldNameSpaceMapping(HelperMethods.GENERIC_RESOURCE_NAME_MAP_KEY_NAMESPACES_STOCK);
@@ -484,9 +484,9 @@ public class GrsfPublisherStockService {
throw new Exception("Failed to retrieve the namespaces for the key fields!");
// retrieve the url
- String modifiedUUIDKey = namespaces.containsKey(CommonServiceUtils.ITEM_URL_FIELD) ? namespaces.get(CommonServiceUtils.ITEM_URL_FIELD) : CommonServiceUtils.ITEM_URL_FIELD;
+ String modifiedUUIDKey = namespaces.containsKey(Constants.ITEM_URL_FIELD) ? namespaces.get(Constants.ITEM_URL_FIELD) : Constants.ITEM_URL_FIELD;
String itemUrl = recordPublished.getExtrasAsHashMap().get(modifiedUUIDKey);
- customFields.put(CommonServiceUtils.ITEM_URL_FIELD, Arrays.asList(itemUrl));
+ customFields.put(Constants.ITEM_URL_FIELD, Arrays.asList(itemUrl));
// replace fields
customFields = HelperMethods.replaceFieldsKey(customFields, namespaces,!sourceInPath.equals(Sources.GRSF));
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/CommonServiceUtils.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/CommonServiceUtils.java
index e2fb013..70e307b 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/CommonServiceUtils.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/CommonServiceUtils.java
@@ -26,15 +26,16 @@ 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.json.output.ResponseCreationBean;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Product_Type;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Status;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.AssociationToGroupThread;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.ManageTimeSeriesThread;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.WritePostCatalogueManagerThread;
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
import org.gcube.datacatalogue.ckanutillibrary.shared.ResourceBean;
import org.gcube.datacatalogue.ckanutillibrary.shared.RolesCkanGroupOrOrg;
+import org.gcube.datacatalogue.common.Constants;
+import org.gcube.datacatalogue.common.enums.Product_Type;
+import org.gcube.datacatalogue.common.enums.Sources;
+import org.gcube.datacatalogue.common.enums.Status;
import org.json.simple.JSONObject;
import org.slf4j.LoggerFactory;
@@ -48,16 +49,6 @@ import eu.trentorise.opendata.jackan.model.CkanDataset;
public class CommonServiceUtils {
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(CommonServiceUtils.class);
- public static final String DEFAULT_LICENSE = "CC-BY-SA-4.0";
- private static final int TIME_SERIES_TAKE_LAST_VALUES = 5;
- private static final String REGEX_TAGS = "[^\\s\\w-_.]";
- public static final String SYSTEM_TYPE = "system:type";
- private static final String SYSTEM_TYPE_FOR_SOURCES = "Legacy";
- private static final String GRSF_DATABASE_SOURCE = "Database Source";
-
- // item url property
- public static final String ITEM_URL_FIELD = "GRSF Record URL";
- private static final String GRSF_ADMIN_ORGANIZATION_NAME = "grsf_admin";
/**
* Retrieve the list of licenses for stocks and fisheries
@@ -190,22 +181,22 @@ public class CommonServiceUtils {
// check if it is a time series, in this take the last X elements
if(asList.get(0).getClass().equals(TimeSeriesBean.class)){
- elementsToConsider = Math.min(elementsToConsider, TIME_SERIES_TAKE_LAST_VALUES);
+ elementsToConsider = Math.min(elementsToConsider, Constants.TIME_SERIES_TAKE_LAST_VALUES);
for (int i = (asList.size() - elementsToConsider); i < asList.size(); i++) {
- String finalTag = asList.get(i).toString().trim().replaceAll(REGEX_TAGS, "");
+ String finalTag = asList.get(i).toString().trim().replaceAll(Constants.REGEX_TAGS, "");
tags.add(finalTag);
}
}else{
// else add all the available elements
for (int i = 0; i < elementsToConsider; i++) {
- String finalTag = asList.get(i).toString().trim().replaceAll(REGEX_TAGS, "");
+ String finalTag = asList.get(i).toString().trim().replaceAll(Constants.REGEX_TAGS, "");
tags.add(finalTag);
}
}
}
}else{
logger.debug("The object annotated with @Tag is a simple one. Adding ... ");
- String finalTag = f.toString().trim().replaceAll(REGEX_TAGS, "");
+ String finalTag = f.toString().trim().replaceAll(Constants.REGEX_TAGS, "");
logger.debug(finalTag);
tags.add(finalTag);
}
@@ -293,7 +284,7 @@ public class CommonServiceUtils {
// check if it is a time series, in this case take the last X elements
if(asList.get(0).getClass().equals(TimeSeriesBean.class)){
- elementsToConsider = Math.min(elementsToConsider, TIME_SERIES_TAKE_LAST_VALUES);
+ elementsToConsider = Math.min(elementsToConsider, Constants.TIME_SERIES_TAKE_LAST_VALUES);
for (int i = (asList.size() - elementsToConsider); i < asList.size(); i++) {
// trim and remove html
@@ -301,21 +292,6 @@ public class CommonServiceUtils {
valuesForKey.add(clean);
}
}
- // }else if(asList.get(0).getClass().equals(SimilarRecordBean.class)){
- //
- // for (int i = 0; i < asList.size(); i++) {
- // SimilarRecordBean similarRecord = (SimilarRecordBean) asList.get(i);
- // JSONObject obj = new JSONObject();
- // if(similarRecord.getId() != null)
- // obj.put("id", Common.cleanSemanticId(similarRecord.getId()));
- // if(similarRecord.getDescription() != null)
- // obj.put("description", similarRecord.getDescription());
- // if(similarRecord.getUrl() != null)
- // obj.put("url", similarRecord.getUrl() );
- // valuesForKey.add(obj.toJSONString());
- // }
- //
- // }
else
for (int i = 0; i < elementsToConsider; i++) {
String clean = HelperMethods.removeHTML(asList.get(i).toString().trim());
@@ -449,7 +425,7 @@ public class CommonServiceUtils {
}
// create the Database Source information
- customFields.put(GRSF_DATABASE_SOURCE, Arrays.asList(databaseSource.trim()));
+ customFields.put(Constants.GRSF_DATABASE_SOURCE, Arrays.asList(databaseSource.trim()));
// append to groups: we need to add this record to the correspondent group of the sources
addRecordToGroupSources(groups, sourcesList, productType, sourceInPath);
@@ -470,7 +446,7 @@ public class CommonServiceUtils {
// set system type (it is equal to the GRSF Type for GRSF records, "Source" for source records)
record.setSystemType(sourceInPath.equals(Sources.GRSF) ?
productType.equals(Product_Type.FISHERY) ? ((FisheryRecord)record).getType().getOrigName() : ((StockRecord)record).getType().getOrigName()
- : SYSTEM_TYPE_FOR_SOURCES);
+ : Constants.SYSTEM_TYPE_FOR_SOURCES_VALUE);
}
@@ -506,9 +482,9 @@ public class CommonServiceUtils {
CkanDataset dataset = catalog.getDataset(itemIdOrName, apiKey);
if(dataset == null)
throw new Exception("Unable to find record with id or name " + itemIdOrName);
- String systemTypeValue = dataset.getExtrasAsHashMap().get(SYSTEM_TYPE);
+ String systemTypeValue = dataset.getExtrasAsHashMap().get(Constants.SYSTEM_TYPE_CUSTOM_KEY);
if(systemTypeValue == null || systemTypeValue.isEmpty())
- throw new Exception(SYSTEM_TYPE + " property not set in record " + itemIdOrName);
+ throw new Exception(Constants.SYSTEM_TYPE_CUSTOM_KEY + " property not set in record " + itemIdOrName);
else
return systemTypeValue;
@@ -538,7 +514,7 @@ public class CommonServiceUtils {
if(!isUpdated){
itemUrl = catalogue.getUnencryptedUrlFromDatasetIdOrName(futureName);
Map> addField = new HashMap>();
- String modifiedUUIDKey = namespaces.containsKey(CommonServiceUtils.ITEM_URL_FIELD) ? namespaces.get(CommonServiceUtils.ITEM_URL_FIELD) : CommonServiceUtils.ITEM_URL_FIELD;
+ String modifiedUUIDKey = namespaces.containsKey(Constants.ITEM_URL_FIELD) ? namespaces.get(Constants.ITEM_URL_FIELD) : Constants.ITEM_URL_FIELD;
addField.put(modifiedUUIDKey, Arrays.asList(itemUrl));
catalogue.patchProductCustomFields(datasetId, apiKey, addField);
description += ", Record URL: " + itemUrl;
@@ -613,8 +589,8 @@ public class CommonServiceUtils {
* @return
*/
public static String evaluateOrganization(String organization, Sources sourceInPath) {
- if(sourceInPath.equals(Sources.GRSF) && organization.equals(GRSF_ADMIN_ORGANIZATION_NAME))
- return GRSF_ADMIN_ORGANIZATION_NAME;
+ if(sourceInPath.equals(Sources.GRSF) && organization.equals(Constants.GRSF_ADMIN_ORGANIZATION_NAME))
+ return Constants.GRSF_ADMIN_ORGANIZATION_NAME;
else
return sourceInPath.getOrigName().toLowerCase();
}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java
index 447546b..d4c45ee 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java
@@ -26,10 +26,10 @@ import org.gcube.common.homelibrary.home.workspace.exceptions.ItemAlreadyExistEx
import org.gcube.common.homelibrary.home.workspace.folder.items.ExternalFile;
import org.gcube.common.resources.gcore.utils.XPathHelper;
import org.gcube.common.scope.api.ScopeProvider;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.cache.CacheImpl;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.cache.CacheInterface;
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogueFactory;
+import org.gcube.datacatalogue.common.caches.CacheImpl;
+import org.gcube.datacatalogue.common.caches.CacheInterface;
import org.gcube.resources.discovery.client.api.DiscoveryClient;
import org.gcube.resources.discovery.client.queries.api.Query;
import org.gcube.resources.discovery.client.queries.impl.QueryBox;
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheImpl.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheImpl.java
deleted file mode 100644
index 6ad08d4..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.cache;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.slf4j.LoggerFactory;
-
-/**
- * Cache implementation.
- * @author Costantino Perciante at ISTI-CNR
- * (costantino.perciante@isti.cnr.it)
- */
-public class CacheImpl implements CacheInterface {
-
- private static final org.slf4j.Logger logger = LoggerFactory.getLogger(CacheImpl.class);
-
- /**
- * The hashmap
- */
- private Map> cache;
-
- /**
- * Cache entry expires after EXPIRED_AFTER ms
- */
- private long ttl;
-
- public CacheImpl(long timeout){
- ttl = timeout;
- cache = new ConcurrentHashMap<>();
- }
-
- @Override
- public V get(K key) {
-
- if(cache.containsKey(key)){
- CacheValueBean bean = cache.get(key);
- if(CacheUtilities.expired(bean.getTTL(), ttl)){
- cache.remove(key);
- logger.debug("Amount of space in the infrastructure used expired for key " + key + ", returning null");
- }
- else
- return bean.getValue();
- }
- return null;
- }
-
- @Override
- public boolean insert(K key, V obj) {
- CacheValueBean newBean = new CacheValueBean(obj, System.currentTimeMillis());
- cache.put(key, newBean);
- return true;
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheInterface.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheInterface.java
deleted file mode 100644
index 98882de..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheInterface.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.cache;
-
-/**
- * Generic interface
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- * @param the key type
- * @param the value type
- */
-public interface CacheInterface {
-
- /**
- * Retrieve a value V from the cache
- * @param key
- * @return
- */
- public V get(K key);
-
- /**
- * Insert an object V with key K into the cache
- * @param key
- * @param value
- * @return
- */
- public boolean insert(K key, V value);
-
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheUtilities.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheUtilities.java
deleted file mode 100644
index b169eea..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheUtilities.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.cache;
-
-/**
- * Utility functions for caches
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public class CacheUtilities {
- /**
- * Check if the bean expired
- * @param beanTimestamp
- * @param ttl
- * @return if expired, otherwise
- */
- public static boolean expired(long beanTimestamp, long ttl){
-
- long currentTime = System.currentTimeMillis();
-
- if((beanTimestamp + ttl) <= currentTime)
- return true;
- else
- return false;
-
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheValueBean.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheValueBean.java
deleted file mode 100644
index 02357d6..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/cache/CacheValueBean.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.cache;
-
-/**
- * A bean object to be used as value within the cache. It contains a TTL value too.
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- * @param the value type
- */
-public class CacheValueBean {
-
- private V value;
- private long TTL;
-
- /**
- * @param value
- * @param TTL
- */
- public CacheValueBean(V value, long ttl) {
- super();
- this.value = value;
- this.TTL = ttl;
- }
- public V getValue() {
- return value;
- }
- public void setValue(V value) {
- this.value = value;
- }
- public long getTTL() {
- return TTL;
- }
- public void setTTL(long ttl) {
- this.TTL = ttl;
- }
- @Override
- public String toString() {
- return "CacheValueBean [value=" + value + ", TTL=" + TTL + "]";
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Abundance_Level.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Abundance_Level.java
deleted file mode 100644
index facd2a8..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Abundance_Level.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * Abundance_Level for Stock records
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public enum Abundance_Level {
-
- Intermediate_Abundance("Intermediate abundance"),
- Low_Abundance("Low abundance"),
- Uncertain_Not_Assessed("Uncertain/Not assessed"),
- Not_applicable("Not applicable"),
- Pre_exploitation_Or_High_Abundance("Pre-exploitation biomass or high abundance"),
- Depleted("Depleted"),
- Virgin_Or_High_Abundance("Virgin or High abundance");
-
- private String subGroupNameOrig;
-
- private Abundance_Level(String origName) {
- this.subGroupNameOrig = origName;
- }
-
- /**
- * Return the original name
- * @return
- */
- public String getOrigName(){
- return subGroupNameOrig;
- }
-
- @JsonValue
- public String onSerialize(){
- return subGroupNameOrig.replaceAll("[^A-Za-z]", " ").toLowerCase();
- }
-
- @JsonCreator
- public static Abundance_Level onDeserialize(String abundanceString) {
- if(abundanceString != null) {
- for (Abundance_Level abundanceValue : Abundance_Level.values()) {
- if(abundanceValue.getOrigName().replaceAll("[^A-Za-z]", " ").equalsIgnoreCase(abundanceString.trim().replaceAll("[^A-Za-z]", " ")))
- return abundanceValue;
- }
- }
- return null;
- }
-
- @Override
- public String toString() {
- return getOrigName();
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Exploitation_Rate.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Exploitation_Rate.java
deleted file mode 100644
index 82747a1..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Exploitation_Rate.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-
-/**
- * Exploitation_Rate for Stock records
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public enum Exploitation_Rate {
-
- Not_Applicable("Not applicable"),
- Moderate_Fishing_Mortality("Moderate fishing mortality"),
- High_Fishing_Mortality("High fishing mortality"),
- No_Or_Low_Fishing_Mortality("No or low fishing mortality"),
- Uncertain_Not_assessed("Uncertain/Not assessed");
-
- private String subGroupNameOrig;
-
- private Exploitation_Rate(String origName) {
- this.subGroupNameOrig = origName;
- }
-
- /**
- * Return the original name
- * @return
- */
- public String getOrigName(){
- return subGroupNameOrig;
- }
-
- @JsonCreator
- public static Exploitation_Rate onDeserialize(String exploitationString) {
- if(exploitationString != null) {
- for (Exploitation_Rate exploitationValue : Exploitation_Rate.values()) {
- if(exploitationValue.getOrigName().replaceAll("[^A-Za-z]", " ").equalsIgnoreCase(exploitationString.trim().replaceAll("[^A-Za-z]", " ")))
- return exploitationValue;
- }
- }
- return null;
- }
-
- @Override
- public String toString() {
- return getOrigName();
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Fishery_Type.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Fishery_Type.java
deleted file mode 100644
index 573ef95..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Fishery_Type.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-
-/**
- * Type for Fishery records
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public enum Fishery_Type {
-
- Fishing_Activity("Fishing Activity"), // for fishery
- Fishing_Description("Fishing Description"); // for fishery
-
- private String subGroupNameOrig;
-
- private Fishery_Type(String origName) {
- this.subGroupNameOrig = origName;
- }
-
- /**
- * Return the original name
- * @return
- */
- public String getOrigName(){
- return subGroupNameOrig;
- }
-
- /**
- * Get the json value
- * @return
- */
- @JsonValue
- public String onSerialize(){
- return subGroupNameOrig.toLowerCase();
- }
-
- /**
- * Get back an enum from json string
- * @param typeString
- * @return
- */
- @JsonCreator
- public static Fishery_Type onDeserialize(String typeString) {
- if(typeString != null) {
- for(Fishery_Type type : Fishery_Type.values()) {
- if(type.getOrigName().equalsIgnoreCase(typeString.trim()))
- return type;
- }
- }
- return null;
- }
-
- /**
- * Used by reflection
- */
- @Override
- public String toString() {
- return getOrigName();
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Fishing_Pressure.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Fishing_Pressure.java
deleted file mode 100644
index 87e876e..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Fishing_Pressure.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-
-
-/**
- * Fishing_Pressure for Stock records
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public enum Fishing_Pressure {
-
- Not_Applicable("Not applicable"),
- Moderate_Fishing_Mortality("Moderate fishing mortality"),
- High_Fishing_Mortality("High fishing mortality"),
- No_Or_Low_Fishing_Mortality("No or low fishing mortality"),
- Uncertain_Not_assessed("Uncertain/Not assessed");
-
- private String subGroupNameOrig;
-
- private Fishing_Pressure(String origName) {
- this.subGroupNameOrig = origName;
- }
-
- /**
- * Return the original name
- * @return
- */
- public String getOrigName(){
- return subGroupNameOrig;
- }
-
- @JsonCreator
- public static Fishing_Pressure onDeserialize(String fishing_Pressure) {
- if(fishing_Pressure != null) {
- for (Fishing_Pressure fishingPressure : Fishing_Pressure.values()) {
- if(fishingPressure.getOrigName().replaceAll("[^A-Za-z]", " ").equalsIgnoreCase(fishing_Pressure.trim().replaceAll("[^A-Za-z]", " ")))
- return fishingPressure;
- }
- }
- return null;
- }
-
- @Override
- public String toString() {
- return getOrigName();
- }
-
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Product_Type.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Product_Type.java
deleted file mode 100644
index 4851d90..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Product_Type.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * The type of product, i.e. Stock or Fishery
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public enum Product_Type {
-
- FISHERY("Fishery"),
- STOCK("Stock");
-
- private String subGroupNameOrig;
-
- private Product_Type(String origName) {
- this.subGroupNameOrig = origName;
- }
-
- /**
- * Return the original name
- * @return
- */
- public String getOrigName(){
- return subGroupNameOrig;
- }
-
- @JsonValue
- public String onSerialize(){
- return subGroupNameOrig.toLowerCase();
- }
-
- @JsonCreator
- public static Product_Type onDeserialize(String recordTypeString) {
- if(recordTypeString != null) {
- for(Product_Type source : Product_Type.values()) {
- if (source.toString().equalsIgnoreCase(recordTypeString.trim()))
- return source;
- }
- }
- return null;
- }
-
- @Override
- public String toString() {
- return getOrigName();
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Production_System_Type.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Production_System_Type.java
deleted file mode 100644
index c9bd118..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Production_System_Type.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * Production_System_Type for Fishery records
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public enum Production_System_Type {
-
- Subsistence("Subsistence"),
- Recreational("Recreational"),
- Commercial("Commercial"),
- Artisanal("Artisanal"),
- Semi_Industrial("Semi-industrial"),
- Industrial("Industrial"),
- Exploratory_fishery("Exploratory fishery"),
- Unspecified("Unspecified");
-
- private String subGroupNameOrig;
-
- private Production_System_Type(String origName) {
- this.subGroupNameOrig = origName;
- }
-
- /**
- * Return the original name
- * @return
- */
- public String getOrigName(){
- return subGroupNameOrig;
- }
-
- @JsonValue
- public String onSerialize(){
- return subGroupNameOrig.replaceAll("[^A-Za-z]", " ").toLowerCase();
- }
-
- @JsonCreator
- public static Production_System_Type onDeserialize(String productionString) {
- if(productionString != null) {
- for (Production_System_Type productionValue : Production_System_Type.values()) {
- if(productionValue.getOrigName().replaceAll("[^A-Za-z]", " ").equalsIgnoreCase(productionString.trim().replaceAll("[^A-Za-z]", " ")))
- return productionValue;
- }
- }
- return null;
- }
-
- @Override
- public String toString() {
- return getOrigName();
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Sources.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Sources.java
deleted file mode 100644
index 9755bbc..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Sources.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
-
-import java.util.Arrays;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * Source Group and sub groups (for both Stock and Fishery) -> look at "Database Sources"
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public enum Sources {
-
- FIRMS("FIRMS"),
- RAM("RAM"),
- FISHSOURCE("FishSource"),
- GRSF("GRSF");
-
- private String subGroupNameOrig;
-
- private Sources(String origName) {
- this.subGroupNameOrig = origName;
- }
-
- /**
- * Return the original name
- * @return
- */
- public String getOrigName(){
- return subGroupNameOrig;
- }
-
- @JsonValue
- public String onSerialize(){
- return subGroupNameOrig.toLowerCase();
- }
-
- @JsonCreator
- public static Sources onDeserialize(String sourceString) {
- if(sourceString != null) {
- for(Sources source : Sources.values()) {
- if (source.toString().equalsIgnoreCase(sourceString.trim()))
- return source;
- }
- }
- return null;
- }
-
- @Override
- public String toString() {
- return getOrigName();
- }
-
- public static String getAsList(){
- return "[" + Arrays.asList(
- FIRMS.toString().toLowerCase(),
- RAM.toString().toLowerCase(),
- FISHSOURCE.toString().toLowerCase(),
- GRSF.toString().toLowerCase()) + "]";
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Status.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Status.java
deleted file mode 100644
index 266f4e7..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Status.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * Status Group and sub groups (for both Stock and Fishery, only Aggregated records)
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public enum Status {
-
- Pending("Pending"),
- Approved("Approved"),
- Rejected("Rejected"),
- Archived("Archived"),
- Hidden("Hidden"),
- Merged("Merged");
-
- private String origName;
-
- private Status(String origName) {
- this.origName = origName;
- }
-
- /**
- * Return the original name
- * @return
- */
- public String getOrigName(){
- return origName;
- }
-
- /**
- * Get the json value
- * @return
- */
- @JsonValue
- public String onSerialize(){
- return origName.toLowerCase();
- }
-
- /**
- * Get back an enum from json string
- * @param statusString
- * @return
- */
- @JsonCreator
- public static Status onDeserialize(String statusString) {
- if(statusString != null) {
- for(Status status : Status.values()) {
- if (status.toString().equalsIgnoreCase(statusString.trim()))
- return status;
- }
- }
- return null;
- }
-
- /**
- * Used by reflection
- */
- @Override
- public String toString() {
- return getOrigName();
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Stock_Type.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Stock_Type.java
deleted file mode 100644
index 6f0086c..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Stock_Type.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-/**
- * Stock types
- * @author Costantino Perciante at ISTI-CNR
- * (costantino.perciante@isti.cnr.it)
- */
-public enum Stock_Type {
-
- Assessment_Unit("Assessment Unit"),
- Marine_Resource("Marine Resource");
-
- private String subGroupNameOrig;
-
- private Stock_Type(String origName) {
- this.subGroupNameOrig = origName;
- }
-
- /**
- * Return the original name
- * @return
- */
- public String getOrigName(){
- return subGroupNameOrig;
- }
-
- /**
- * Get the json value
- * @return
- */
- @JsonValue
- public String onSerialize(){
- return subGroupNameOrig.toLowerCase();
- }
-
- /**
- * Get back an enum from json string
- * @param typeString
- * @return
- */
- @JsonCreator
- public static Stock_Type onDeserialize(String typeString) {
- if(typeString != null) {
- for(Stock_Type type : Stock_Type.values()) {
- if(type.getOrigName().equalsIgnoreCase(typeString.trim().toLowerCase()) || type.getOrigName().toLowerCase().contains(typeString.trim().toLowerCase()))
- return type;
- }
- }
- return null;
- }
-
- /**
- * Used by reflection
- */
- @Override
- public String toString() {
- return getOrigName();
- }
-
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/ManageTimeSeriesThread.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/ManageTimeSeriesThread.java
index 6817592..8c77c99 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/ManageTimeSeriesThread.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/ManageTimeSeriesThread.java
@@ -27,9 +27,9 @@ 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.CSVUtils;
import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.cache.CacheImpl;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.cache.CacheInterface;
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
+import org.gcube.datacatalogue.common.caches.CacheImpl;
+import org.gcube.datacatalogue.common.caches.CacheInterface;
import org.slf4j.LoggerFactory;
import eu.trentorise.opendata.jackan.model.CkanResourceBase;
diff --git a/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JJerseyTest.java b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JJerseyTest.java
index 989c051..f3fa428 100644
--- a/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JJerseyTest.java
+++ b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JJerseyTest.java
@@ -13,10 +13,10 @@ 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.services.GrsfPublisherFisheryService;
import org.gcube.data_catalogue.grsf_publish_ws.services.GrsfPublisherStockService;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Fishery_Type;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Status;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Stock_Type;
+import org.gcube.datacatalogue.common.enums.Fishery_Type;
+import org.gcube.datacatalogue.common.enums.Sources;
+import org.gcube.datacatalogue.common.enums.Status;
+import org.gcube.datacatalogue.common.enums.Stock_Type;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
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 4ababa4..4740a3a 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
@@ -34,13 +34,13 @@ 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.CSVUtils;
import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Abundance_Level;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Fishery_Type;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
-import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Status;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.AssociationToGroupThread;
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogueFactory;
+import org.gcube.datacatalogue.common.enums.Abundance_Level;
+import org.gcube.datacatalogue.common.enums.Fishery_Type;
+import org.gcube.datacatalogue.common.enums.Sources;
+import org.gcube.datacatalogue.common.enums.Status;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.ObjectMapper;