diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 6caf699..d3d2b68 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -3,6 +3,9 @@
+
+ uses
+
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/custom_annotations/CkanField.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/custom_annotations/CkanField.java
new file mode 100644
index 0000000..21d26f4
--- /dev/null
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/custom_annotations/CkanField.java
@@ -0,0 +1,16 @@
+package org.gcube.data_catalogue.grsf_publish_ws.custom_annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotate a field of the json input representing a future CKAN field (key, value)
+ * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface CkanField {
+
+}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/custom_annotations/CkanResource.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/custom_annotations/CkanResource.java
new file mode 100644
index 0000000..7fd10fb
--- /dev/null
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/custom_annotations/CkanResource.java
@@ -0,0 +1,16 @@
+package org.gcube.data_catalogue.grsf_publish_ws.custom_annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotate a field of the json input representing a future CKAN resource
+ * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface CkanResource {
+
+}
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 76ebea3..0f9050d 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
@@ -8,11 +8,11 @@ import javax.ws.rs.ext.Provider;
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseBean;
import org.slf4j.LoggerFactory;
-@Provider
/**
* Exception thrown when @Valid fail
* @author Costantino Perciante at ISTI-CNR
*/
+@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/ex/ValidationException.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/ex/ValidationException.java
index 7db653f..162cde4 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/ex/ValidationException.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/ex/ValidationException.java
@@ -10,11 +10,11 @@ import javax.ws.rs.ext.Provider;
import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseBean;
import org.slf4j.LoggerFactory;
-@Provider
/**
* Exception thrown on fail
* @author Costantino Perciante at ISTI-CNR
*/
+@Provider
public class ValidationException implements ExceptionMapper {
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(ValidationException.class);