Improved documetnation
This commit is contained in:
parent
e22cbcc0f5
commit
c7c8ffa332
|
@ -27,6 +27,9 @@ import org.gcube.gcat.persistence.ckan.CKANPackage;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import com.webcohesion.enunciate.metadata.rs.ResponseCode;
|
||||||
|
import com.webcohesion.enunciate.metadata.rs.StatusCodes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Luca Frosini (ISTI - CNR)
|
* @author Luca Frosini (ISTI - CNR)
|
||||||
*/
|
*/
|
||||||
|
@ -212,6 +215,9 @@ public class Item extends REST<CKANPackage> implements org.gcube.gcat.api.interf
|
||||||
*/
|
*/
|
||||||
@GET
|
@GET
|
||||||
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 200, condition = "The request succeded")
|
||||||
|
})
|
||||||
/* Catalogue-Member is not added to VRE members and is assumed as the default role in the catalogue for the VRE members. So we can't enforce
|
/* Catalogue-Member is not added to VRE members and is assumed as the default role in the catalogue for the VRE members. So we can't enforce
|
||||||
* @AuthorizationControl(allowedRoles={Role.CATALOGUE_MEMBER, Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
* @AuthorizationControl(allowedRoles={Role.CATALOGUE_MEMBER, Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
||||||
*/
|
*/
|
||||||
|
@ -390,6 +396,9 @@ public class Item extends REST<CKANPackage> implements org.gcube.gcat.api.interf
|
||||||
@POST
|
@POST
|
||||||
@Consumes(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Consumes(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 201, condition = "The item has been created successfully.")
|
||||||
|
})
|
||||||
@Override
|
@Override
|
||||||
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
||||||
public Response create(String json) {
|
public Response create(String json) {
|
||||||
|
@ -403,6 +412,9 @@ public class Item extends REST<CKANPackage> implements org.gcube.gcat.api.interf
|
||||||
@GET
|
@GET
|
||||||
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
||||||
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 200, condition = "The item exists")
|
||||||
|
})
|
||||||
@Override
|
@Override
|
||||||
/* Catalogue-Member is not added to VRE members and is assumed as the default role in the catalogue for the VRE members. So we can't enforce
|
/* Catalogue-Member is not added to VRE members and is assumed as the default role in the catalogue for the VRE members. So we can't enforce
|
||||||
* @AuthorizationControl(allowedRoles={Role.CATALOGUE_MEMBER, Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
* @AuthorizationControl(allowedRoles={Role.CATALOGUE_MEMBER, Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
||||||
|
@ -411,20 +423,34 @@ public class Item extends REST<CKANPackage> implements org.gcube.gcat.api.interf
|
||||||
return super.read(id);
|
return super.read(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @pathExample /items/my_test_item
|
||||||
|
* @responseExample application/json;charset=UTF-8 classpath:/read-item-response.json
|
||||||
|
*/
|
||||||
@PUT
|
@PUT
|
||||||
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
||||||
@Consumes(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Consumes(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 200, condition = "The item has been updated successfully.")
|
||||||
|
})
|
||||||
@Override
|
@Override
|
||||||
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
||||||
public String update(@PathParam(ITEM_ID_PARAMETER) String id, String json) {
|
public String update(@PathParam(ITEM_ID_PARAMETER) String id, String json) {
|
||||||
return super.update(id, json);
|
return super.update(id, json);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @pathExample /items/my_test_item
|
||||||
|
* @responseExample application/json;charset=UTF-8 classpath:/read-item-response.json
|
||||||
|
*/
|
||||||
@PATCH
|
@PATCH
|
||||||
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
||||||
@Consumes(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Consumes(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 200, condition = "The item has been patched successfully.")
|
||||||
|
})
|
||||||
@Override
|
@Override
|
||||||
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
||||||
public String patch(@PathParam(ITEM_ID_PARAMETER) String id, String json) {
|
public String patch(@PathParam(ITEM_ID_PARAMETER) String id, String json) {
|
||||||
|
@ -436,6 +462,10 @@ public class Item extends REST<CKANPackage> implements org.gcube.gcat.api.interf
|
||||||
*/
|
*/
|
||||||
@DELETE
|
@DELETE
|
||||||
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 204, condition = "The item has been deleted successfully."),
|
||||||
|
@ResponseCode ( code = 404, condition = "The item was not found.")
|
||||||
|
})
|
||||||
@Override
|
@Override
|
||||||
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
||||||
public Response delete(@PathParam(ITEM_ID_PARAMETER) String id,
|
public Response delete(@PathParam(ITEM_ID_PARAMETER) String id,
|
||||||
|
@ -448,6 +478,10 @@ public class Item extends REST<CKANPackage> implements org.gcube.gcat.api.interf
|
||||||
*/
|
*/
|
||||||
@PURGE
|
@PURGE
|
||||||
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 204, condition = "The item has been purged successfully."),
|
||||||
|
@ResponseCode ( code = 404, condition = "The item was not found.")
|
||||||
|
})
|
||||||
@Override
|
@Override
|
||||||
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
||||||
public Response purge(@PathParam(ITEM_ID_PARAMETER) String id) {
|
public Response purge(@PathParam(ITEM_ID_PARAMETER) String id) {
|
||||||
|
@ -512,9 +546,13 @@ public class Item extends REST<CKANPackage> implements org.gcube.gcat.api.interf
|
||||||
* @throws WebServiceException if an error occurs.
|
* @throws WebServiceException if an error occurs.
|
||||||
*
|
*
|
||||||
* @pathExample /items?purge=false
|
* @pathExample /items?purge=false
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
@DELETE
|
@DELETE
|
||||||
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 202, condition = "The bulk delete/purge has been accepted successfully.")
|
||||||
|
})
|
||||||
@Override
|
@Override
|
||||||
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
||||||
public Response bulkDelete(@QueryParam(GCatConstants.PURGE_QUERY_PARAMETER) @DefaultValue("false") boolean purge) {
|
public Response bulkDelete(@QueryParam(GCatConstants.PURGE_QUERY_PARAMETER) @DefaultValue("false") boolean purge) {
|
||||||
|
@ -561,6 +599,9 @@ public class Item extends REST<CKANPackage> implements org.gcube.gcat.api.interf
|
||||||
*/
|
*/
|
||||||
@PURGE
|
@PURGE
|
||||||
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 202, condition = "The bulk purge has been accepted successfully.")
|
||||||
|
})
|
||||||
@Override
|
@Override
|
||||||
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER}, exception=NotAuthorizedException.class)
|
||||||
public Response bulkPurge() {
|
public Response bulkPurge() {
|
||||||
|
@ -600,12 +641,15 @@ public class Item extends REST<CKANPackage> implements org.gcube.gcat.api.interf
|
||||||
* The operation will continue in background.
|
* The operation will continue in background.
|
||||||
*
|
*
|
||||||
* @pathExample /items/my_test_item
|
* @pathExample /items/my_test_item
|
||||||
*
|
* @requestExample application/json;charset=UTF-8 classpath:/reject.json
|
||||||
*/
|
*/
|
||||||
@POST
|
@POST
|
||||||
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
@Path("/{" + ITEM_ID_PARAMETER + "}")
|
||||||
@Consumes(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Consumes(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
@Produces(GCatConstants.APPLICATION_JSON_CHARSET_UTF_8)
|
||||||
|
@StatusCodes ({
|
||||||
|
@ResponseCode ( code = 202, condition = "The moderation operation has been accepted successfully.")
|
||||||
|
})
|
||||||
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER, Moderated.CATALOGUE_MODERATOR}, exception=NotAuthorizedException.class)
|
// @AuthorizationControl(allowedRoles={Role.CATALOGUE_EDITOR, Role.CATALOGUE_ADMIN, Role.CATALOGUE_MANAGER, Moderated.CATALOGUE_MODERATOR}, exception=NotAuthorizedException.class)
|
||||||
public Response moderate(@PathParam(ITEM_ID_PARAMETER) String id, String json) {
|
public Response moderate(@PathParam(ITEM_ID_PARAMETER) String id, String json) {
|
||||||
setCalledMethod("POST /" + COLLECTION_PARAMETER + "/{" + ID_PARAMETER + "}");
|
setCalledMethod("POST /" + COLLECTION_PARAMETER + "/{" + ID_PARAMETER + "}");
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"system:cm_item_status":"rejected",
|
||||||
|
"message": "The indicated language does not match with the item resource language"
|
||||||
|
}
|
Loading…
Reference in New Issue