diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index b56883e..9920812 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -10,7 +10,7 @@
uses
-
+
uses
diff --git a/pom.xml b/pom.xml
index 10f841d..e57636d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -221,44 +221,26 @@
org.glassfish.jersey.containers
jersey-container-servlet-core
- ${version.jersey}
org.glassfish.jersey.media
jersey-media-json-jackson
- ${version.jersey}
org.glassfish.jersey.media
jersey-media-json-processing
- ${version.jersey}
org.glassfish.jersey.media
jersey-media-multipart
- ${version.jersey}
org.glassfish.jersey.media
jersey-media-sse
- ${version.jersey}
org.glassfish.jersey.ext
jersey-bean-validation
- ${version.jersey}
-
-
- io.swagger
- swagger-jersey2-jaxrs
- ${version.swagger}
- provided
-
-
- jackson-dataformat-yaml
- com.fasterxml.jackson.dataformat
-
-
javax.portlet
@@ -305,7 +287,6 @@
org.apache.maven.plugins
maven-war-plugin
- 2.1.1
compile
@@ -321,7 +302,6 @@
org.apache.maven.plugins
maven-compiler-plugin
- 2.3.2
1.8
diff --git a/src/main/java/org/gcube/portal/social/networking/liferay/ws/LiferayJSONWsCredentials.java b/src/main/java/org/gcube/portal/social/networking/liferay/ws/LiferayJSONWsCredentials.java
index 6543a30..8376594 100644
--- a/src/main/java/org/gcube/portal/social/networking/liferay/ws/LiferayJSONWsCredentials.java
+++ b/src/main/java/org/gcube/portal/social/networking/liferay/ws/LiferayJSONWsCredentials.java
@@ -118,7 +118,7 @@ public class LiferayJSONWsCredentials {
ScopeProvider.instance.set(oldContext);
}
- logger.info("Bean built " + toString());
+ logger.debug("Bean built " + toString());
}
/**
diff --git a/src/main/java/org/gcube/portal/social/networking/swagger/config/Bootstrap.java b/src/main/java/org/gcube/portal/social/networking/swagger/config/Bootstrap.java
deleted file mode 100644
index d33e196..0000000
--- a/src/main/java/org/gcube/portal/social/networking/swagger/config/Bootstrap.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.gcube.portal.social.networking.swagger.config;
-
-import io.swagger.jaxrs.config.BeanConfig;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-
-/**
- * Configuration servlet for swagger.
- * @author Costantino Perciante at ISTI-CNR
- */
-@SuppressWarnings("serial")
-public class Bootstrap extends HttpServlet{
-
- public static final String GCUBE_TOKEN_IN_QUERY_DEF = "gcube-token-query";
- public static final String GCUBE_TOKEN_IN_HEADER_DEF = "gcube-token-header";
-
- @Override
- public void init(ServletConfig config) throws ServletException {
-
- super.init(config);
- BeanConfig beanConfig = new BeanConfig();
- beanConfig.setResourcePackage("org.gcube.portal.social.networking.ws");
- beanConfig.setPrettyPrint(true); // print pretty json
- beanConfig.setHost("socialnetworking1.d4science.org");
- beanConfig.setBasePath("social-networking-library-ws/rest");
- beanConfig.setScan(true);
-
- }
-}
\ No newline at end of file
diff --git a/src/main/java/org/gcube/portal/social/networking/swagger/config/SwaggerConstants.java b/src/main/java/org/gcube/portal/social/networking/swagger/config/SwaggerConstants.java
deleted file mode 100644
index 63fc6b6..0000000
--- a/src/main/java/org/gcube/portal/social/networking/swagger/config/SwaggerConstants.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.gcube.portal.social.networking.swagger.config;
-
-/**
- * Swagger constants
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public class SwaggerConstants {
-
- public static final String SECURITY_SCHEMA = "gcube-token";
- public static final String HTTP_SCHEMA = "http";
- public static final String HTTPS_SCHEMA = "https";
-
- // VALUES
- public static final String USERS = "users";
- public static final String TOKENS = "tokens";
- public static final String POSTS = "posts";
- public static final String PEOPLE = "people";
- public static final String NOTIFICATIONS = "notifications";
- public static final String MESSAGES = "messages";
- public static final String HASHTAGS = "hashtags";
- public static final String FULLTEXT = "full-text-search";
- public static final String COMMENTS = "comments";
- public static final String VRES = "vres";
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/SNLApiConfig.java b/src/main/java/org/gcube/portal/social/networking/ws/SNLApiConfig.java
deleted file mode 100644
index 664c935..0000000
--- a/src/main/java/org/gcube/portal/social/networking/ws/SNLApiConfig.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.gcube.portal.social.networking.ws;
-
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-
-import io.swagger.annotations.ApiKeyAuthDefinition;
-import io.swagger.annotations.ApiKeyAuthDefinition.ApiKeyLocation;
-import io.swagger.annotations.Contact;
-import io.swagger.annotations.Extension;
-import io.swagger.annotations.ExtensionProperty;
-import io.swagger.annotations.ExternalDocs;
-import io.swagger.annotations.Info;
-import io.swagger.annotations.SecurityDefinition;
-import io.swagger.annotations.SwaggerDefinition;
-
-
-@SwaggerDefinition(
- info = @Info(
- description = "This is the official documentation of the second version (v. 2.0) of the Social-Networking RESTful interface.",
- version = "V 2.0",
- title = "Social Networking RESTful Service",
- contact = @Contact(
- name = "Costantino Perciante",
- email ="costantino.perciante@isti.cnr.it"
- ),
- extensions = {
- @Extension(name = "extra-contact", properties = {
- @ExtensionProperty(name = "name", value = "Massimiliano Assante"),
- @ExtensionProperty(name = "email", value = "massimiliano.assante@isti.cnr.it")
- }),
- @Extension(name = "development-host", properties = {
- @ExtensionProperty(name = "url", value = "https://socialnetworking-d-d4s.d4science.org"),
- })
- }
- ),
- externalDocs=@ExternalDocs(url="https://wiki.gcube-system.org/gcube/Social_Networking_Service", value="Wiki page at gCube"),
- host="socialnetworking1.d4science.org",
- basePath="social-networking-library-ws/rest",
- securityDefinition=@SecurityDefinition(
- apiKeyAuthDefinitions={
- @ApiKeyAuthDefinition(key=Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF, description="A token bound to a user (or app identifier) and a context", in=ApiKeyLocation.HEADER, name="gcube-token"),
- @ApiKeyAuthDefinition(key=Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF, description="A token bound to a user (or app identifier) and a context", in=ApiKeyLocation.QUERY, name="gcube-token")
- }),
- schemes = {SwaggerDefinition.Scheme.HTTP, SwaggerDefinition.Scheme.HTTPS}
- )
-public interface SNLApiConfig {
-
-}
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/inputs/ApplicationId.java b/src/main/java/org/gcube/portal/social/networking/ws/inputs/ApplicationId.java
index 58495d9..ff43c13 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/inputs/ApplicationId.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/inputs/ApplicationId.java
@@ -1,8 +1,5 @@
package org.gcube.portal.social.networking.ws.inputs;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@@ -13,18 +10,13 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* Application id object
* @author Costantino Perciante at ISTI-CNR
*/
-@ApiModel(description="An object containing the app_id field", value="Application")
+
public class ApplicationId {
@JsonProperty("app_id")
@NotNull(message="app_id cannot be null")
@Size(message="app_id cannot be empty", min=1)
- @ApiModelProperty(
- example="appX",
- name="app_id",
- required=true,
- value="The application identifier"
- )
+
private String appId;
public ApplicationId() {
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/inputs/JobNotificationBean.java b/src/main/java/org/gcube/portal/social/networking/ws/inputs/JobNotificationBean.java
index 39a55ca..e0de958 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/inputs/JobNotificationBean.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/inputs/JobNotificationBean.java
@@ -1,7 +1,6 @@
package org.gcube.portal.social.networking.ws.inputs;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
+
import javax.validation.constraints.NotNull;
@@ -19,57 +18,31 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
* @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
*/
@JsonIgnoreProperties(ignoreUnknown = true) // ignore in serialization/deserialization
-@ApiModel(description="A job notification object", value="JobNotification")
+
public class JobNotificationBean {
@JsonProperty("recipient")
@NotNull(message="recipient cannot be missing")
- @ApiModelProperty(value="The recipient of the notification",
- required=true,
- example="andrea.rossi",
- name="recipient")
private String recipient;
@JsonProperty("job_id")
- @ApiModelProperty(value="The job's identifier, i.e. very likely a UUID",
- required=true,
- example="88055f18-558a-4246-942d-a43012528c92",
- name="job_id")
@NotNull(message="job_id cannot be missing")
private String jobId;
@JsonProperty("job_name")
- @ApiModelProperty(value="The job's name",
- required=true,
- example="SocialDataIndexer Plugin",
- name="job_name")
@NotNull(message="job_name cannot be missing")
private String jobName;
@JsonProperty("service_name")
- @ApiModelProperty(value="The name of the service running the job",
- required=true,
- example="SmartExecutor",
- name="service_name")
@NotNull(message="service_name cannot be missing")
private String serviceName;
@JsonProperty("status")
- @ApiModelProperty(value="The status of the job",
- required=true,
- example="FAILED",
- name="status",
- allowableValues = "CANCELLED,CANCELLING,DELETED,DELETING,EXECUTING,FAILED,NEW,SUBMITTED,SUCCEEDED,TIMED_OUT,WAITING"
- )
@JsonDeserialize(using=JobStatusTypeDeserializer.class)
@NotNull(message="status cannot be missing")
private JobStatusType status;
@JsonProperty("status_message")
- @ApiModelProperty(value="A message reporting the reason of the current status",
- required=false,
- example="An error occurred while ...",
- name="status_message")
private String statusMessage;
public JobNotificationBean() {
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/inputs/MessageInputBean.java b/src/main/java/org/gcube/portal/social/networking/ws/inputs/MessageInputBean.java
index bf2792b..0e8698a 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/inputs/MessageInputBean.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/inputs/MessageInputBean.java
@@ -1,8 +1,5 @@
package org.gcube.portal.social.networking.ws.inputs;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
import java.io.Serializable;
import java.util.ArrayList;
@@ -18,7 +15,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @author Costantino Perciante at ISTI-CNR
*/
@JsonIgnoreProperties(ignoreUnknown = true) // ignore in serialization/deserialization
-@ApiModel(description="A message object", value="Message")
public class MessageInputBean implements Serializable {
private static final long serialVersionUID = -1317811686036127456L;
@@ -34,28 +30,17 @@ public class MessageInputBean implements Serializable {
@JsonProperty("body")
@NotNull(message="body cannot be missing")
@Size(min=1, message="body cannot be empty")
- @ApiModelProperty(
- example="This is the body of the mail ...",
- required= true,
- value="The body of the message")
private String body;
@JsonProperty("subject")
@NotNull(message="subject cannot be missing")
@Size(min=1, message="subject cannot be empty")
- @ApiModelProperty(
- example="This is the subject of the mail ...",
- required= true,
- value="The subject of the message")
private String subject;
@JsonProperty("recipients")
@NotNull(message="recipients cannot be missing")
@Size(min=1, message="at least a recipient is needed")
@Valid // validate recursively
- @ApiModelProperty(
- required= true,
- value="The recipients of this message. At least one is needed")
private ArrayList recipients;
public MessageInputBean() {
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/inputs/PostInputBean.java b/src/main/java/org/gcube/portal/social/networking/ws/inputs/PostInputBean.java
index 4e9f76c..f2c94d5 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/inputs/PostInputBean.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/inputs/PostInputBean.java
@@ -1,7 +1,5 @@
package org.gcube.portal.social.networking.ws.inputs;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
@@ -15,7 +13,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @author Costantino Perciante at ISTI-CNR
*/
@JsonIgnoreProperties(ignoreUnknown = true) // ignore in serialization/deserialization
-@ApiModel(description="A post object", value="Post")
public class PostInputBean implements Serializable{
private static final long serialVersionUID = 5274608088828232980L;
@@ -23,58 +20,35 @@ public class PostInputBean implements Serializable{
@JsonProperty("text")
@NotNull(message="text cannot be null")
@Size(min=1, message="text cannot be empty")
- @ApiModelProperty(
- example="Dear vre members, ...",
- required=true,
- value="The text of the post")
+
private String text;
@JsonProperty("preview_title")
- @ApiModelProperty(
- required=false,
- value="A preview title for the preview",
- name="preview_title")
+
private String previewtitle;
@JsonProperty("preview_description")
- @ApiModelProperty(
- required=false,
- value="A preview description for the preview",
- name="preview_description")
+
private String previewdescription;
@JsonProperty("preview_host")
- @ApiModelProperty(
- required=false,
- value="A preview host for the preview",
- name="preview_host")
+
private String previewhost;
@JsonProperty("preview_url")
- @ApiModelProperty(
- required=false,
- value="A preview url for the preview",
- name="preview_url")
+
private String previewurl;
@JsonProperty("image_url")
- @ApiModelProperty(
- required=false,
- value="An image url for the preview",
- name="image_url")
+
private String httpimageurl;
@JsonProperty("enable_notification")
- @ApiModelProperty(
- required=false,
- value="If true send a notification to the other vre members about this post",
- name="enable_notification")
+
private boolean enablenotification;
@JsonProperty("params")
- @ApiModelProperty(
- required=false,
- value="Other parameters for the application's posts")
+
private String params;
public PostInputBean() {
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/inputs/Recipient.java b/src/main/java/org/gcube/portal/social/networking/ws/inputs/Recipient.java
index e375a7b..f307f48 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/inputs/Recipient.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/inputs/Recipient.java
@@ -1,7 +1,5 @@
package org.gcube.portal.social.networking.ws.inputs;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
@@ -18,7 +16,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
*
*/
@JsonIgnoreProperties(ignoreUnknown = true) // ignore in serialization/deserialization
-@ApiModel(description="A recipient object")
+
public class Recipient implements Serializable{
private static final long serialVersionUID = 1071412144446514138L;
@@ -26,10 +24,7 @@ public class Recipient implements Serializable{
@JsonProperty("id")
@NotNull(message="recipient id must not be null")
@Size(min=1, message="recipient id must not be empty")
- @ApiModelProperty(
- example="andrea.rossi",
- required=true,
- value="The id of the recipient")
+
private String id;
public Recipient() {
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Comments.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Comments.java
index b21c06b..351dd43 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Comments.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Comments.java
@@ -1,13 +1,6 @@
package org.gcube.portal.social.networking.ws.methods.v2;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
-
import java.util.List;
import javax.validation.ValidationException;
@@ -24,11 +17,8 @@ import org.gcube.common.authorization.library.provider.AuthorizationProvider;
import org.gcube.common.authorization.library.utils.Caller;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.portal.databook.shared.Comment;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
import org.gcube.portal.social.networking.ws.utils.CassandraConnection;
-import org.gcube.portal.social.networking.ws.utils.ErrorMessages;
import org.gcube.portal.social.networking.ws.utils.Filters;
import org.slf4j.LoggerFactory;
@@ -37,7 +27,6 @@ import org.slf4j.LoggerFactory;
* @author Costantino Perciante at ISTI-CNR
*/
@Path("2/comments")
-@Api(value=SwaggerConstants.COMMENTS, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
/**
* Resource endpoint for Comment (version 2)
* @author Costantino Perciante at ISTI-CNR
@@ -51,10 +40,7 @@ public class Comments {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("get-comments-user")
- @ApiOperation(value = "Retrieve user's comments", response=ResponseBean.class, nickname="get-comments-user", notes="Retrieve the list of comments belonging to the owner of the token in the related context.")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "The list of comments is put into the 'result' field", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
+
public Response getCommentsUser() {
ResponseBean responseBean = new ResponseBean();
@@ -83,19 +69,9 @@ public class Comments {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("get-comments-user-by-time")
- @ApiOperation(value = "Retrieve user's comments and filter by date", notes="Retrieve comments of the gcube-token's owner in the context bound to the token itself and filter them by date",
- response=ResponseBean.class, nickname="get-comments-user-by-time")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "The list of comments is put into the 'result' field", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getCommentsUserByTime(
@QueryParam("time")
@Min(value = 0, message="time cannot be negative")
- @ApiParam(
- allowableValues="range[0, infinity]",
- required=true,
- name="time",
- value="the base time for filtering operation")
long timeInMillis
) throws ValidationException{
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/FullTextSearch.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/FullTextSearch.java
index 23bb40f..99770f8 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/FullTextSearch.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/FullTextSearch.java
@@ -1,12 +1,5 @@
package org.gcube.portal.social.networking.ws.methods.v2;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
-
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -35,12 +28,9 @@ import org.gcube.portal.databook.shared.EnhancedFeed;
import org.gcube.portal.databook.shared.Feed;
import org.gcube.portal.social.networking.liferay.ws.GroupManagerWSBuilder;
import org.gcube.portal.social.networking.liferay.ws.UserManagerWSBuilder;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
import org.gcube.portal.social.networking.ws.utils.CassandraConnection;
import org.gcube.portal.social.networking.ws.utils.ElasticSearchConnection;
-import org.gcube.portal.social.networking.ws.utils.ErrorMessages;
import org.gcube.portal.social.networking.ws.utils.Filters;
import org.gcube.portal.social.networking.ws.utils.TokensUtils;
import org.gcube.vomanagement.usermanagement.GroupManager;
@@ -54,7 +44,7 @@ import org.slf4j.LoggerFactory;
* @author Costantino Perciante at ISTI-CNR
*/
@Path("2/full-text-search")
-@Api(value=SwaggerConstants.FULLTEXT, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
+
public class FullTextSearch {
// Logger
@@ -63,26 +53,18 @@ public class FullTextSearch {
@GET
@Path("search-by-query")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve posts/comments that match the given query",
- notes="The posts/comments returned belong to the context bound to the gcube-token",
- response=ResponseBean.class, nickname="search-by-query")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful retrieval of posts/comments that match the query, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response searchByQuery(
@Context HttpServletRequest httpServletRequest,
@QueryParam("query") @NotNull(message="query cannot be null") @Size(min=1, message="query cannot be empty")
- @ApiParam(required=true, defaultValue="none", name="query", value="A string to search for")
+
String query,
@DefaultValue("0") @QueryParam("from") @Min(value=0, message="from cannot be negative")
- @ApiParam(allowableValues="range[0, infinity]",
- required=false, name="from", value="the index of the base result to be returned")
+
int from,
@DefaultValue("10") @QueryParam("quantity") @Min(value=0, message="quantity cannot be negative")
- @ApiParam(allowableValues="range[1, infinity]",
- required=false, name="quantity", value="defines how many results are most are to be returned")
+
int quantity
) throws ValidationException{
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/HashTags.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/HashTags.java
index d8e21d4..2bf4eac 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/HashTags.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/HashTags.java
@@ -1,11 +1,5 @@
package org.gcube.portal.social.networking.ws.methods.v2;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
-
import java.util.Map;
import javax.ws.rs.GET;
@@ -20,11 +14,8 @@ import org.gcube.common.authorization.library.utils.Caller;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.portal.databook.server.DatabookStore;
import org.gcube.portal.social.networking.liferay.ws.GroupManagerWSBuilder;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
import org.gcube.portal.social.networking.ws.utils.CassandraConnection;
-import org.gcube.portal.social.networking.ws.utils.ErrorMessages;
import org.slf4j.LoggerFactory;
/**
@@ -32,7 +23,6 @@ import org.slf4j.LoggerFactory;
* @author Costantino Perciante at ISTI-CNR
*/
@Path("2/hashtags")
-@Api(value=SwaggerConstants.HASHTAGS, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
public class HashTags {
// Logger
@@ -41,11 +31,6 @@ public class HashTags {
@GET
@Path("get-hashtags-and-occurrences/")
@Produces({MediaType.APPLICATION_JSON})
- @ApiOperation(value = "Retrieve hashtags", nickname="get-hashtags-and-occurrences",
- notes="Retrieve hashtags in the context bound to the gcube-token", response=ResponseBean.class)
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Hashtags and occurrences retrieved, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getHashTagsAndOccurrences(){
Caller caller = AuthorizationProvider.instance.get();
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Messages.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Messages.java
index 6883699..7618908 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Messages.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Messages.java
@@ -1,11 +1,5 @@
package org.gcube.portal.social.networking.ws.methods.v2;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
import java.util.ArrayList;
import java.util.Collections;
@@ -41,8 +35,7 @@ import org.gcube.portal.notifications.thread.MessageNotificationsThread;
import org.gcube.portal.social.networking.caches.SocialNetworkingSiteFinder;
import org.gcube.portal.social.networking.liferay.ws.LiferayJSONWsCredentials;
import org.gcube.portal.social.networking.liferay.ws.UserManagerWSBuilder;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
+
import org.gcube.portal.social.networking.ws.inputs.MessageInputBean;
import org.gcube.portal.social.networking.ws.inputs.Recipient;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
@@ -59,7 +52,6 @@ import org.slf4j.LoggerFactory;
* (costantino.perciante@isti.cnr.it)
*/
@Path("2/messages")
-@Api(value=SwaggerConstants.MESSAGES, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
public class Messages {
// Logger
@@ -69,15 +61,9 @@ public class Messages {
@Path("write-message/")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Write a message to another user", notes="Write a message to another user. The sender is the token's owner by default",
- response=ResponseBean.class, nickname="write-message")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful write a message. Its id is reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response writeMessage(
@NotNull(message="Message to send is missing")
@Valid
- @ApiParam(name="input", required=true, allowMultiple=false, value="The message to write")
MessageInputBean input,
@Context HttpServletRequest httpServletRequest) throws ValidationException, UserManagementSystemException, UserRetrievalFault{
@@ -169,11 +155,6 @@ public class Messages {
@GET
@Path("get-sent-messages")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve the list of sent messages", notes="Retrieve the list of sent messages. The user is the token's owner by default",
- response=ResponseBean.class, nickname="get-sent-messages")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful read of the sent messages, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getSentMessages(){
Caller caller = AuthorizationProvider.instance.get();
@@ -202,11 +183,6 @@ public class Messages {
@GET
@Path("get-received-messages")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve the list of received messages", notes="Retrieve the list of received messages. The user is the token's owner by default",
- response=ResponseBean.class, nickname="get-received-messages")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful read of the received messages, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getReceivedMessages(){
Caller caller = AuthorizationProvider.instance.get();
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Notifications.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Notifications.java
index 4881c12..da10bbb 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Notifications.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Notifications.java
@@ -1,12 +1,5 @@
package org.gcube.portal.social.networking.ws.methods.v2;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
-
import java.util.Arrays;
import java.util.List;
@@ -38,21 +31,19 @@ import org.gcube.portal.notifications.thread.JobStatusNotificationThread;
import org.gcube.portal.social.networking.caches.SocialNetworkingSiteFinder;
import org.gcube.portal.social.networking.liferay.ws.LiferayJSONWsCredentials;
import org.gcube.portal.social.networking.liferay.ws.UserManagerWSBuilder;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
import org.gcube.portal.social.networking.ws.inputs.JobNotificationBean;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
import org.gcube.portal.social.networking.ws.utils.CassandraConnection;
-import org.gcube.portal.social.networking.ws.utils.ErrorMessages;
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
import org.slf4j.LoggerFactory;
+
+
/**
* REST interface for the social networking library (notifications).
* @author Costantino Perciante at ISTI-CNR
*/
@Path("2/notifications")
-@Api(value=SwaggerConstants.NOTIFICATIONS, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
public class Notifications {
// Logger
@@ -61,20 +52,10 @@ public class Notifications {
@GET
@Path("get-range-notifications/")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve user's notifications", notes="Retrieve notifications of the gcube-token's owner",
- response=ResponseBean.class, nickname="get-range-notifications")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Notifications retrieved and reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getRangeNotifications(
@DefaultValue("1") @QueryParam("from") @Min(value=1, message="from must be greater or equal to 1")
- @ApiParam(allowableValues="range[0, infinity]",
- required=false, allowMultiple=false, value="The base index notification")
int from,
-
@DefaultValue("10") @QueryParam("quantity") @Min(value=0, message="quantity must be greater or equal to 0")
- @ApiParam(allowableValues="range[1, infinity]",
- required=false, allowMultiple=false, value="Retrieve notifications up to this quantity")
int quantity
) throws ValidationException{
@@ -104,16 +85,10 @@ public class Notifications {
@POST
@Path("notify-job-status/")
- @ApiOperation(value = "Send a JOB Notification", notes="Send a JOB notification to a given recipient",
- response=ResponseBean.class, nickname="notify-job-status")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Notification is sent correctly", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response notifyJobStatus(
@NotNull(message="input is missing")
- @ApiParam(name="job", required=true, allowMultiple=false, value="The job bean")
@Valid JobNotificationBean job) throws ValidationException{
Caller caller = AuthorizationProvider.instance.get();
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/People.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/People.java
index bc08843..7b91741 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/People.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/People.java
@@ -1,11 +1,5 @@
package org.gcube.portal.social.networking.ws.methods.v2;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
-
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -24,10 +18,7 @@ import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.portal.social.networking.liferay.ws.GroupManagerWSBuilder;
import org.gcube.portal.social.networking.liferay.ws.RoleManagerWSBuilder;
import org.gcube.portal.social.networking.liferay.ws.UserManagerWSBuilder;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
-import org.gcube.portal.social.networking.ws.utils.ErrorMessages;
import org.gcube.portal.social.networking.ws.utils.TokensUtils;
import org.gcube.vomanagement.usermanagement.GroupManager;
import org.gcube.vomanagement.usermanagement.RoleManager;
@@ -42,18 +33,12 @@ import org.slf4j.LoggerFactory;
* @author Costantino Perciante at ISTI-CNR
*/
@Path("2/people")
-@Api(value=SwaggerConstants.PEOPLE, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
public class People {
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(People.class);
@GET
@Path("profile")
- @ApiOperation(value = "Retrieve user's profile", notes="Retrieve the user's profile. The user in this case is the one bound to the token which can be of any kind (qualified, default)",
- response=ResponseBean.class, nickname="profile")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful retrieval of user's profile, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
@Produces(MediaType.APPLICATION_JSON)
public Response getProfile(){
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Posts.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Posts.java
index 257fa1b..8da7e93 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Posts.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Posts.java
@@ -1,13 +1,5 @@
package org.gcube.portal.social.networking.ws.methods.v2;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
-
import java.util.ArrayList;
import java.util.List;
@@ -32,8 +24,6 @@ import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.portal.databook.server.DatabookStore;
import org.gcube.portal.databook.shared.ApplicationProfile;
import org.gcube.portal.databook.shared.Feed;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
import org.gcube.portal.social.networking.ws.inputs.PostInputBean;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
import org.gcube.portal.social.networking.ws.utils.CassandraConnection;
@@ -47,7 +37,6 @@ import org.slf4j.LoggerFactory;
* @author Costantino Perciante at ISTI-CNR
*/
@Path("2/posts")
-@Api(value=SwaggerConstants.POSTS, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
public class Posts {
// Logger
@@ -56,15 +45,8 @@ public class Posts {
@GET
@Path("get-posts-user-since/")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve user's posts", notes="Retrieve posts of the gcube-token's owner, and allow to filter them by time",
- response=ResponseBean.class, nickname="get-posts-user-since")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful retrieval of posts, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getRecentPostsByUserAndDate(
@QueryParam("time") @Min(value = 0, message="time cannot be negative")
- @ApiParam(allowableValues="range[0, infinity]", name="time",
- required=true, allowMultiple=false, value="The reference time since when retrieving posts")
long timeInMillis
) throws ValidationException{
@@ -97,11 +79,7 @@ public class Posts {
@GET
@Path("get-posts-user/")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve all user's posts", notes="Retrieve all posts of the gcube-token's owner",
- response=ResponseBean.class, nickname="get-posts-user")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful retrieval of posts, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
+
public Response getAllPostsByUser() {
Caller caller = AuthorizationProvider.instance.get();
@@ -131,17 +109,10 @@ public class Posts {
@GET
@Path("get-posts-user-quantity/")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve a given quantity of latest user's posts", notes="Retrieve a given quantity of latest posts of the gcube-token's owner",
- response=ResponseBean.class, nickname="get-posts-user-quantity")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful retrieval of posts, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getQuantityPostsByUser(
@DefaultValue("10")
@QueryParam("quantity")
@Min(value=0, message="quantity cannot be negative")
- @ApiParam(allowableValues="range[0, infinity]", name="quantity",
- required=false, allowMultiple=false, value="How many posts needs to be retrieved at most")
int quantity) throws ValidationException{
Caller caller = AuthorizationProvider.instance.get();
@@ -178,16 +149,9 @@ public class Posts {
@Path("write-post-user")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Create a new user post", notes="Create a new user post having as owner the gcube-token's owner",
- response=ResponseBean.class, nickname="write-post-user")
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successfull created, the new post is reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response writePostUser(
@NotNull(message="Post to write is missing")
@Valid
- @ApiParam(name="post",
- required=true, allowMultiple=false, value="The post to be written")
PostInputBean post) throws ValidationException{
logger.debug("Request of writing a feed coming from user " + post);
@@ -246,12 +210,6 @@ public class Posts {
@GET
@Path("get-posts-app/")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve the application's posts", notes="Retrieve the application's posts belonging to the gcube-token's owner (i.e., an application)",
- response=ResponseBean.class, nickname="get-posts-app")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successfull retrieved posts, they are reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 403, message = "There is no application profile with such token", response=ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getAllPostsByApp() {
Caller caller = AuthorizationProvider.instance.get();
@@ -295,17 +253,9 @@ public class Posts {
@Path("write-post-app")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Create a new application post", notes="Create a new application post having as owner-application the gcube-token's owner",
- response=ResponseBean.class, nickname="write-post-app")
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successfull created, the new post is reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 403, message = "There is no application profile with such token", response=ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response writePostApp(
@NotNull(message="Post to write is null")
@Valid
- @ApiParam(name="post",
- required=true, allowMultiple=false, value="The post to be written")
PostInputBean post){
Caller caller = AuthorizationProvider.instance.get();
@@ -369,11 +319,6 @@ public class Posts {
@GET
@Path("get-posts-vre/")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve vre's posts", notes="Retrieve all the posts in the context bound to the gcube-token",
- response=ResponseBean.class, nickname="get-posts-vre")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successfull retrieved posts, they are reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getAllPostsByVRE() {
String scope = ScopeProvider.instance.get();
@@ -399,16 +344,9 @@ public class Posts {
@GET
@Path("get-posts-by-hashtag/")
@Produces({MediaType.APPLICATION_JSON})
- @ApiOperation(value = "Retrieve posts containing the hashtag", notes="Retrieve posts containing the hashtag in the context bound to the gcube-token",
- response=ResponseBean.class, nickname="get-posts-by-hashtag")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successfull retrieved posts, they are reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getPostsByHashTags(
@QueryParam("hashtag")
@NotNull(message="hashtag cannot be missing")
- @ApiParam(name="hashtag",
- required=true, allowMultiple=false, value="The hashtag to be contained within the posts")
String hashtag) throws ValidationException {
Caller caller = AuthorizationProvider.instance.get();
@@ -434,11 +372,6 @@ public class Posts {
@GET
@Path("get-id-liked-posts/")
@Produces({MediaType.APPLICATION_JSON})
- @ApiOperation(value = "Retrieve ids (UUID) of the liked by the user", notes="Retrieve ids (UUID) of the liked by the user in the context bound to the gcube-token",
- response=ResponseBean.class, nickname="get-id-liked-posts")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successfull retrieved ids, they are reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getAllLikedPostIdsByUser() {
Caller caller = AuthorizationProvider.instance.get();
@@ -470,17 +403,10 @@ public class Posts {
@GET
@Path("get-liked-posts/")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Retrieve posts liked by the user", notes="Retrieve posts liked by the user (up to a given quantity) in the context bound to the gcube-token",
- response=ResponseBean.class, nickname="get-liked-posts")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successfull retrieved posts. They are reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getAllLikedPostsByUser(
@DefaultValue("10")
@QueryParam("limit")
@Min(message="limit cannot be negative", value = 0)
- @ApiParam(name="limit",
- required=false, allowMultiple=false, value="The maximum number of posts to be retrieved")
int limit) throws ValidationException{
Caller caller = AuthorizationProvider.instance.get();
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Tokens.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Tokens.java
index ed721c6..4b95e44 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Tokens.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Tokens.java
@@ -1,12 +1,6 @@
package org.gcube.portal.social.networking.ws.methods.v2;
import static org.gcube.common.authorization.client.Constants.authorizationService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
import javax.validation.Valid;
import javax.validation.ValidationException;
@@ -21,8 +15,6 @@ import javax.ws.rs.core.Response.Status;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.portal.databook.shared.ApplicationProfile;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
import org.gcube.portal.social.networking.ws.inputs.ApplicationId;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
import org.gcube.portal.social.networking.ws.utils.ErrorMessages;
@@ -30,12 +22,13 @@ import org.gcube.portal.social.networking.ws.utils.SocialUtils;
import org.slf4j.LoggerFactory;
+
+
/**
* REST interface for the social networking library (tokens).
* @author Costantino Perciante at ISTI-CNR
*/
@Path("2/tokens")
-@Api(value=SwaggerConstants.TOKENS, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
public class Tokens {
// Logger
@@ -45,16 +38,9 @@ public class Tokens {
@Path("generate-application-token/")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Generate an application token", notes="Generate an application token for the application with id app_id",
- response=ResponseBean.class, nickname="generate-application-token")
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful creation of the token, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 403, message = "There is no application profile with such id", response=ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response generateApplicationToken(
@NotNull(message="Missing input parameter")
@Valid
- @ApiParam(name="input", required=true, allowMultiple=false, value="The bean containing the app_id field")
ApplicationId input) throws ValidationException{
logger.debug("Incoming request for app token generation.");
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Users.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Users.java
index 7d705a7..3bffc92 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Users.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/Users.java
@@ -26,10 +26,7 @@ import org.gcube.portal.social.networking.caches.UsersCache;
import org.gcube.portal.social.networking.liferay.ws.GroupManagerWSBuilder;
import org.gcube.portal.social.networking.liferay.ws.RoleManagerWSBuilder;
import org.gcube.portal.social.networking.liferay.ws.UserManagerWSBuilder;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
-import org.gcube.portal.social.networking.ws.utils.ErrorMessages;
import org.gcube.portal.social.networking.ws.utils.TokensUtils;
import org.gcube.portal.social.networking.ws.utils.UserProfileExtendedWithVerifiedEmail;
import org.gcube.vomanagement.usermanagement.GroupManager;
@@ -39,19 +36,12 @@ import org.gcube.vomanagement.usermanagement.model.GCubeRole;
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
import org.slf4j.LoggerFactory;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
/**
* REST interface for the social networking library (users).
* @author Costantino Perciante at ISTI-CNR
*/
@Path("2/users")
-@Api(value=SwaggerConstants.USERS, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
public class Users {
// Logger
@@ -62,16 +52,10 @@ public class Users {
@GET
@Path("get-custom-attribute/")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Read a user's custom attribute", notes="Read a user's custom attribute. The user is the one owning the token",
- response=ResponseBean.class, nickname="get-custom-attribute")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful read of the attribute, reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 404, message = "Such an attribute doesn't exist", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
+
public Response readCustomAttr(
@QueryParam("attribute")
@NotNull(message="attribute name is missing")
- @ApiParam(name="attribute", required=true, allowMultiple=false, value="The key of the attribute to be read")
String attributeKey
) throws ValidationException {
@@ -162,11 +146,6 @@ public class Users {
@GET
@Path("get-fullname")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Read the user's fullname", notes="Read the user's fullname. The user is the one owning the token",
- response=ResponseBean.class, nickname="get-fullname")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "The user's fullname is reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getUserFullname(){
Caller caller = AuthorizationProvider.instance.get();
@@ -202,11 +181,6 @@ public class Users {
@GET
@Path("get-email")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Read the user's email address", notes="Read the user's email address. The user is the one owning the token",
- response=ResponseBean.class, nickname="get-email")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "The user's email value is reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getUserEmail(){
Caller caller = AuthorizationProvider.instance.get();
@@ -240,11 +214,6 @@ public class Users {
@GET
@Path("get-profile")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Read the user's profile", notes="Read the user's profile. The user is the one owning the token",
- response=ResponseBean.class, nickname="get-profile")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "The user's profile is reported in the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
public Response getUserProfile(){
Caller caller = AuthorizationProvider.instance.get();
@@ -338,11 +307,6 @@ public class Users {
@GET
@Path("get-all-usernames")
- @ApiOperation(value = "Get the list of usernames belonging to a given context", notes="Retrieve the list of usernames for the user belonging to the context linked to the provided token.",
- response=ResponseBean.class, nickname="get-all-usernames")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "The list of usernames is put into the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
@Produces(MediaType.APPLICATION_JSON)
public Response getAllUserNames(){
@@ -386,11 +350,6 @@ public class Users {
@GET
@Path("get-all-fullnames-and-usernames")
- @ApiOperation(value = "Get the map of couples username/fullname of the users belonging to a given context", notes="Get the map of couples username/fullname of the users belonging to the context linked to the provided token.",
- response=ResponseBean.class, nickname="get-all-fullnames-and-usernames")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "The map is put into the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
@Produces(MediaType.APPLICATION_JSON)
public Response getFullnamesAndUsernames(){
@@ -434,14 +393,9 @@ public class Users {
@GET
@Path("get-usernames-by-global-role")
- @ApiOperation(value = "Get the list of users having a given global-role", notes="Get the list of users having a given global-role, e.g. 'Administrator'.",
- response=ResponseBean.class, nickname="get-usernames-by-global-role")
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "The list is put into the 'result' field of the returned object", response = ResponseBean.class),
- @ApiResponse(code = 500, message = ErrorMessages.ERROR_IN_API_RESULT, response=ResponseBean.class)})
+
@Produces(MediaType.APPLICATION_JSON)
public Response getUsernamesByGlobalRole(
- @ApiParam(value = "role-name: the name of the role to be checked (e.g. Administrator)", required = true)
@QueryParam("role-name") String roleName){
ResponseBean responseBean = new ResponseBean();
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/VREs.java b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/VREs.java
index 6efa424..31486d4 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/VREs.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/methods/v2/VREs.java
@@ -1,8 +1,5 @@
package org.gcube.portal.social.networking.ws.methods.v2;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.Authorization;
-
import java.util.List;
import javax.validation.ValidationException;
@@ -20,8 +17,6 @@ import org.gcube.common.authorization.library.utils.Caller;
import org.gcube.portal.social.networking.liferay.ws.GroupManagerWSBuilder;
import org.gcube.portal.social.networking.liferay.ws.RoleManagerWSBuilder;
import org.gcube.portal.social.networking.liferay.ws.UserManagerWSBuilder;
-import org.gcube.portal.social.networking.swagger.config.Bootstrap;
-import org.gcube.portal.social.networking.swagger.config.SwaggerConstants;
import org.gcube.portal.social.networking.ws.outputs.ResponseBean;
import org.gcube.portal.social.networking.ws.utils.TokensUtils;
import org.gcube.vomanagement.usermanagement.GroupManager;
@@ -40,7 +35,6 @@ import org.slf4j.LoggerFactory;
* @author Costantino Perciante at ISTI-CNR
*/
@Path("2/vres")
-@Api(value=SwaggerConstants.VRES, authorizations={@Authorization(value = Bootstrap.GCUBE_TOKEN_IN_QUERY_DEF), @Authorization(value = Bootstrap.GCUBE_TOKEN_IN_HEADER_DEF)})
public class VREs {
// Logger
diff --git a/src/main/java/org/gcube/portal/social/networking/ws/outputs/ResponseBean.java b/src/main/java/org/gcube/portal/social/networking/ws/outputs/ResponseBean.java
index 7a89c25..07c3c54 100644
--- a/src/main/java/org/gcube/portal/social/networking/ws/outputs/ResponseBean.java
+++ b/src/main/java/org/gcube/portal/social/networking/ws/outputs/ResponseBean.java
@@ -1,7 +1,6 @@
package org.gcube.portal.social.networking.ws.outputs;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
+
import java.io.Serializable;
@@ -11,17 +10,15 @@ import java.io.Serializable;
* (costantino.perciante@isti.cnr.it)
*
*/
-@ApiModel(description="A response object", value="Response")
public class ResponseBean implements Serializable {
private static final long serialVersionUID = -2725238162673879658L;
- @ApiModelProperty(value="The result of the request: true if it succeeded, false otherwise")
+
private boolean success;
- @ApiModelProperty(value="An error message if something wrong happened, null/empty otherwise")
+
private String message;
- @ApiModelProperty(value="The result object of the request")
private Object result;
public ResponseBean() {
diff --git a/src/main/webapp/WEB-INF/.gitignore b/src/main/webapp/WEB-INF/.gitignore
new file mode 100644
index 0000000..2ba34e6
--- /dev/null
+++ b/src/main/webapp/WEB-INF/.gitignore
@@ -0,0 +1 @@
+/web.xml
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 9a8bd29..8b2a3d4 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -35,7 +35,7 @@
The token of the user J.A.R.V.I.S. on the portal (root context)
- NOTIFIER_TOKEN
+ e4b6d36d-ac40-47cb-a456-aa8b2fe59899-98187548