added intermediate object for WorkspaceMessage. Added filter for authentication purpose

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/social-networking/social-networking-client-library@163354 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Costantino Perciante 2018-02-17 17:51:38 +00:00
parent 1272ecae18
commit a9af0c0d3c
12 changed files with 84 additions and 109 deletions

View File

@ -7,7 +7,6 @@ import java.util.ArrayList;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.portal.databook.shared.EnhancedFeed; import org.gcube.portal.databook.shared.EnhancedFeed;
import org.gcube.portal.social_networking_client_library.utils.HttpClient; import org.gcube.portal.social_networking_client_library.utils.HttpClient;
import org.gcube.portal.socialnetworking.model.output.ResponseBean; import org.gcube.portal.socialnetworking.model.output.ResponseBean;
@ -44,7 +43,7 @@ public class FullTextSearchClient extends BaseClient{
logger.debug("Request for query " + query + " and from " + from + " and quantity is " + quantity); logger.debug("Request for query " + query + " and from " + from + " and quantity is " + quantity);
String thisMethodSignature = "search-by-query"; String thisMethodSignature = "search-by-query";
String request = getServiceEndpoint() + thisMethodSignature + "?" + "query=" + URLEncoder.encode(query, "UTF-8") + "&from=" + from + "&quantity=" + quantity; String request = getServiceEndpoint() + thisMethodSignature + "?" + "query=" + URLEncoder.encode(query, "UTF-8") + "&from=" + from + "&quantity=" + quantity;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<EnhancedFeed>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<EnhancedFeed>>>(){}, request);
} }

View File

@ -5,7 +5,6 @@ import java.util.Map;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.portal.social_networking_client_library.utils.HttpClient; import org.gcube.portal.social_networking_client_library.utils.HttpClient;
import org.gcube.portal.socialnetworking.model.output.ResponseBean; import org.gcube.portal.socialnetworking.model.output.ResponseBean;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -33,7 +32,7 @@ public class HashTagsClient extends BaseClient{
logger.debug("Request for hastags"); logger.debug("Request for hastags");
String thisMethodSignature = "get-hashtags-and-occurrences"; String thisMethodSignature = "get-hashtags-and-occurrences";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<HashMap<String, Integer>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<HashMap<String, Integer>>>(){}, request);
} }

View File

@ -6,10 +6,8 @@ import java.util.List;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.homelibrary.home.workspace.sharing.WorkspaceMessage;
import org.gcube.portal.social_networking_client_library.utils.HttpClient; import org.gcube.portal.social_networking_client_library.utils.HttpClient;
import org.gcube.portal.socialnetworking.model.input.MessageInputBean; import org.gcube.portal.socialnetworking.model.input.Message;
import org.gcube.portal.socialnetworking.model.output.ResponseBean; import org.gcube.portal.socialnetworking.model.output.ResponseBean;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -22,50 +20,50 @@ public class MessagesClient extends BaseClient{
private static final String SUB_SERVICE_PATH = "2/messages/"; private static final String SUB_SERVICE_PATH = "2/messages/";
private static Logger logger = LoggerFactory.getLogger(MessagesClient.class); private static Logger logger = LoggerFactory.getLogger(MessagesClient.class);
public MessagesClient() throws Exception { public MessagesClient() throws Exception {
super(SUB_SERVICE_PATH); super(SUB_SERVICE_PATH);
} }
/** /**
* Get sent messages * Get sent messages
* @return * @return
*/ */
public List<WorkspaceMessage> getSentMessages(){ public List<Message> getSentMessages(){
logger.debug("Request for sent messages"); logger.debug("Request for sent messages");
String thisMethodSignature = "get-sent-messages"; String thisMethodSignature = "get-sent-messages";
String request = getServiceEndpoint() + thisMethodSignature + "?"; String request = getServiceEndpoint() + thisMethodSignature + "?";
return HttpClient.get(new GenericType<ResponseBean<ArrayList<WorkspaceMessage>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Message>>>(){}, request);
} }
/** /**
* Get received messages * Get received messages
* @return * @return
*/ */
public List<WorkspaceMessage> getReceivedMessages(){ public List<Message> getReceivedMessages(){
logger.debug("Request for received messages"); logger.debug("Request for received messages");
String thisMethodSignature = "get-received-messages"; String thisMethodSignature = "get-received-messages";
String request = getServiceEndpoint() + thisMethodSignature + "?"; String request = getServiceEndpoint() + thisMethodSignature + "?";
return HttpClient.get(new GenericType<ResponseBean<ArrayList<WorkspaceMessage>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Message>>>(){}, request);
} }
/** /**
* Write message * Write message
* @return message id * @return message id
*/ */
public String writeMessage(MessageInputBean m){ public String writeMessage(Message m){
Validate.isTrue(m != null, "Message cannot be null"); Validate.isTrue(m != null, "Message cannot be null");
logger.debug("Request for writing new message"); logger.debug("Request for writing new message");
String thisMethodSignature = "write-message"; String thisMethodSignature = "write-message";
String request = getServiceEndpoint() + thisMethodSignature + "?"; String request = getServiceEndpoint() + thisMethodSignature + "?";
return HttpClient.post(new GenericType<ResponseBean<String>>(){}, request, SecurityTokenProvider.instance.get(), m); return HttpClient.post(new GenericType<ResponseBean<String>>(){}, request, m);
} }
} }

View File

@ -6,7 +6,6 @@ import java.util.List;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.portal.databook.shared.Notification; import org.gcube.portal.databook.shared.Notification;
import org.gcube.portal.social_networking_client_library.utils.HttpClient; import org.gcube.portal.social_networking_client_library.utils.HttpClient;
import org.gcube.portal.socialnetworking.model.input.JobNotificationBean; import org.gcube.portal.socialnetworking.model.input.JobNotificationBean;
@ -42,7 +41,7 @@ public class NotificationsClient extends BaseClient{
logger.debug("Request for getting notifications"); logger.debug("Request for getting notifications");
String thisMethodSignature = "get-range-notifications"; String thisMethodSignature = "get-range-notifications";
String request = getServiceEndpoint() + thisMethodSignature + "?from=" + from + "&quantity=" +quantity; String request = getServiceEndpoint() + thisMethodSignature + "?from=" + from + "&quantity=" +quantity;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<Notification>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Notification>>>(){}, request);
} }
@ -57,7 +56,7 @@ public class NotificationsClient extends BaseClient{
logger.debug("Request for getting notifications"); logger.debug("Request for getting notifications");
String thisMethodSignature = "notify-job-status"; String thisMethodSignature = "notify-job-status";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
HttpClient.post(new GenericType<ResponseBean<String>>(){}, request, SecurityTokenProvider.instance.get(), notification); HttpClient.post(new GenericType<ResponseBean<String>>(){}, request, notification);
} }

View File

@ -2,7 +2,6 @@ package org.gcube.portal.social_networking_client_library;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.portal.social_networking_client_library.utils.HttpClient; import org.gcube.portal.social_networking_client_library.utils.HttpClient;
import org.gcube.portal.socialnetworking.model.output.ResponseBean; import org.gcube.portal.socialnetworking.model.output.ResponseBean;
import org.json.JSONObject; import org.json.JSONObject;
@ -32,7 +31,7 @@ public class PeopleClient extends BaseClient{
logger.debug("Request for getting profile"); logger.debug("Request for getting profile");
String thisMethodSignature = "profile"; String thisMethodSignature = "profile";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<JSONObject>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<JSONObject>>(){}, request);
} }
} }

View File

@ -6,7 +6,6 @@ import java.util.List;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.portal.databook.shared.Feed; import org.gcube.portal.databook.shared.Feed;
import org.gcube.portal.social_networking_client_library.utils.HttpClient; import org.gcube.portal.social_networking_client_library.utils.HttpClient;
import org.gcube.portal.socialnetworking.model.input.PostInputBean; import org.gcube.portal.socialnetworking.model.input.PostInputBean;
@ -39,7 +38,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for getting posts"); logger.debug("Request for getting posts");
String thisMethodSignature = "get-posts-user-since"; String thisMethodSignature = "get-posts-user-since";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request);
} }
@ -54,7 +53,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for getting posts"); logger.debug("Request for getting posts");
String thisMethodSignature = "get-posts-user"; String thisMethodSignature = "get-posts-user";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request);
} }
@ -69,7 +68,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for getting posts"); logger.debug("Request for getting posts");
String thisMethodSignature = "get-posts-user-quantity"; String thisMethodSignature = "get-posts-user-quantity";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request);
} }
@ -84,7 +83,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for writing post"); logger.debug("Request for writing post");
String thisMethodSignature = "write-post-user"; String thisMethodSignature = "write-post-user";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.post(new GenericType<ResponseBean<Feed>>(){}, request, SecurityTokenProvider.instance.get(), toWrite); return HttpClient.post(new GenericType<ResponseBean<Feed>>(){}, request, toWrite);
} }
@ -97,7 +96,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for getting posts"); logger.debug("Request for getting posts");
String thisMethodSignature = "get-posts-app"; String thisMethodSignature = "get-posts-app";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request);
} }
@ -112,7 +111,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for writing application post"); logger.debug("Request for writing application post");
String thisMethodSignature = "write-post-app"; String thisMethodSignature = "write-post-app";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.post(new GenericType<ResponseBean<Feed>>(){}, request, SecurityTokenProvider.instance.get(), toWrite); return HttpClient.post(new GenericType<ResponseBean<Feed>>(){}, request, toWrite);
} }
@ -125,7 +124,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for getting posts vre"); logger.debug("Request for getting posts vre");
String thisMethodSignature = "get-posts-vre"; String thisMethodSignature = "get-posts-vre";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request);
} }
@ -140,7 +139,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for getting posts with hashtag " + hashtag); logger.debug("Request for getting posts with hashtag " + hashtag);
String thisMethodSignature = "get-posts-by-hashtag"; String thisMethodSignature = "get-posts-by-hashtag";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request);
} }
@ -153,7 +152,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for getting posts liked"); logger.debug("Request for getting posts liked");
String thisMethodSignature = "get-liked-posts"; String thisMethodSignature = "get-liked-posts";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<Feed>>>(){}, request);
} }
@ -166,7 +165,7 @@ public class PostsClient extends BaseClient{
logger.debug("Request for getting posts liked"); logger.debug("Request for getting posts liked");
String thisMethodSignature = "get-id-liked-posts"; String thisMethodSignature = "get-id-liked-posts";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<String>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<String>>>(){}, request);
} }

View File

@ -3,7 +3,6 @@ package org.gcube.portal.social_networking_client_library;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.portal.social_networking_client_library.utils.HttpClient; import org.gcube.portal.social_networking_client_library.utils.HttpClient;
import org.gcube.portal.socialnetworking.model.input.ApplicationId; import org.gcube.portal.socialnetworking.model.input.ApplicationId;
import org.gcube.portal.socialnetworking.model.output.ResponseBean; import org.gcube.portal.socialnetworking.model.output.ResponseBean;
@ -35,7 +34,7 @@ public class TokensClient extends BaseClient{
logger.debug("Request for writing new message"); logger.debug("Request for writing new message");
String thisMethodSignature = "generate-application-token"; String thisMethodSignature = "generate-application-token";
String request = getServiceEndpoint() + thisMethodSignature + "?"; String request = getServiceEndpoint() + thisMethodSignature + "?";
return HttpClient.post(new GenericType<ResponseBean<String>>(){}, request, SecurityTokenProvider.instance.get(), appId); return HttpClient.post(new GenericType<ResponseBean<String>>(){}, request, appId);
} }

View File

@ -8,7 +8,6 @@ import java.util.Map;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.portal.social_networking_client_library.utils.HttpClient; import org.gcube.portal.social_networking_client_library.utils.HttpClient;
import org.gcube.portal.socialnetworking.model.output.ResponseBean; import org.gcube.portal.socialnetworking.model.output.ResponseBean;
import org.json.JSONObject; import org.json.JSONObject;
@ -40,7 +39,7 @@ public class UsersClient extends BaseClient{
logger.debug("Request for attribute value"); logger.debug("Request for attribute value");
String thisMethodSignature = "get-custom-attribute"; String thisMethodSignature = "get-custom-attribute";
String request = getServiceEndpoint() + thisMethodSignature + "?attribute=" + attributeKey; String request = getServiceEndpoint() + thisMethodSignature + "?attribute=" + attributeKey;
return HttpClient.get(new GenericType<ResponseBean<String>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<String>>(){}, request);
} }
@ -53,7 +52,7 @@ public class UsersClient extends BaseClient{
logger.debug("Request for fullname"); logger.debug("Request for fullname");
String thisMethodSignature = "get-fullname"; String thisMethodSignature = "get-fullname";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<String>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<String>>(){}, request);
} }
@ -66,7 +65,7 @@ public class UsersClient extends BaseClient{
logger.debug("Request for email"); logger.debug("Request for email");
String thisMethodSignature = "get-email"; String thisMethodSignature = "get-email";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<String>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<String>>(){}, request);
} }
@ -79,7 +78,7 @@ public class UsersClient extends BaseClient{
logger.debug("Request for getting profile"); logger.debug("Request for getting profile");
String thisMethodSignature = "get-profile"; String thisMethodSignature = "get-profile";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<JSONObject>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<JSONObject>>(){}, request);
} }
@ -92,7 +91,7 @@ public class UsersClient extends BaseClient{
logger.debug("Request for getting usernames in this context"); logger.debug("Request for getting usernames in this context");
String thisMethodSignature = "get-all-usernames"; String thisMethodSignature = "get-all-usernames";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<String>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<String>>>(){}, request);
} }
@ -105,7 +104,7 @@ public class UsersClient extends BaseClient{
logger.debug("Request for getting usernames and fullnames in this context"); logger.debug("Request for getting usernames and fullnames in this context");
String thisMethodSignature = "get-all-fullnames-and-usernames"; String thisMethodSignature = "get-all-fullnames-and-usernames";
String request = getServiceEndpoint() + thisMethodSignature; String request = getServiceEndpoint() + thisMethodSignature;
return HttpClient.get(new GenericType<ResponseBean<HashMap<String, String>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<HashMap<String, String>>>(){}, request);
} }
@ -120,7 +119,7 @@ public class UsersClient extends BaseClient{
logger.debug("Request for getting usernames with global role"); logger.debug("Request for getting usernames with global role");
String thisMethodSignature = "get-usernames-by-global-role"; String thisMethodSignature = "get-usernames-by-global-role";
String request = getServiceEndpoint() + thisMethodSignature + "?role-name=" + globalRole; String request = getServiceEndpoint() + thisMethodSignature + "?role-name=" + globalRole;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<String>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<String>>>(){}, request);
} }
@ -135,7 +134,7 @@ public class UsersClient extends BaseClient{
logger.debug("Request for getting usernames with global role"); logger.debug("Request for getting usernames with global role");
String thisMethodSignature = "get-usernames-by-role"; String thisMethodSignature = "get-usernames-by-role";
String request = getServiceEndpoint() + thisMethodSignature + "?role-name=" + localRole; String request = getServiceEndpoint() + thisMethodSignature + "?role-name=" + localRole;
return HttpClient.get(new GenericType<ResponseBean<ArrayList<String>>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<ArrayList<String>>>(){}, request);
} }
@ -150,7 +149,7 @@ public class UsersClient extends BaseClient{
logger.debug("Request for getting usernames with global role"); logger.debug("Request for getting usernames with global role");
String thisMethodSignature = "user-exists"; String thisMethodSignature = "user-exists";
String request = getServiceEndpoint() + thisMethodSignature + "?username=" + username; String request = getServiceEndpoint() + thisMethodSignature + "?username=" + username;
return HttpClient.get(new GenericType<ResponseBean<Boolean>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<Boolean>>(){}, request);
} }

View File

@ -2,7 +2,6 @@ package org.gcube.portal.social_networking_client_library;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.portal.social_networking_client_library.utils.HttpClient; import org.gcube.portal.social_networking_client_library.utils.HttpClient;
import org.gcube.portal.socialnetworking.model.output.ResponseBean; import org.gcube.portal.socialnetworking.model.output.ResponseBean;
import org.json.JSONArray; import org.json.JSONArray;
@ -32,7 +31,7 @@ public class VREsClient extends BaseClient{
logger.debug("Request for writing new message"); logger.debug("Request for writing new message");
String thisMethodSignature = "get-my-vres"; String thisMethodSignature = "get-my-vres";
String request = getServiceEndpoint() + thisMethodSignature + "?"; String request = getServiceEndpoint() + thisMethodSignature + "?";
return HttpClient.get(new GenericType<ResponseBean<JSONArray>>(){}, request, SecurityTokenProvider.instance.get()); return HttpClient.get(new GenericType<ResponseBean<JSONArray>>(){}, request);
} }

View File

@ -0,0 +1,21 @@
package org.gcube.portal.social_networking_client_library.filter;
import java.io.IOException;
import javax.ws.rs.client.ClientRequestContext;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
/**
* Authorization filter for the jersey client.
* @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
*/
public class AuthorizationFilter {
private final static String AUTH_TOKEN_PARAMETER = "gcube-token";
public void filter(ClientRequestContext clientRequestContext) throws IOException {
String token = SecurityTokenProvider.instance.get();
clientRequestContext.getHeaders().add(AUTH_TOKEN_PARAMETER, token);
}
}

View File

@ -8,6 +8,7 @@ import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import org.gcube.portal.social_networking_client_library.filter.AuthorizationFilter;
import org.gcube.portal.socialnetworking.model.output.ResponseBean; import org.gcube.portal.socialnetworking.model.output.ResponseBean;
import org.glassfish.jersey.client.ClientConfig; import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.jackson.JacksonFeature; import org.glassfish.jersey.jackson.JacksonFeature;
@ -34,13 +35,13 @@ public class HttpClient{
* @param token * @param token
* @return * @return
*/ */
public static <R> R get(GenericType<ResponseBean<R>> returnType, String requestUrl, String token){ public static <R> R get(GenericType<ResponseBean<R>> returnType, String requestUrl){
logger.debug("Executing get request at url " + requestUrl + " and token is " + maskedToken(token)); logger.debug("Executing get request at url " + requestUrl);
ClientConfig cc = new ClientConfig().register(new JacksonFeature());//.register(new JacksonJsonProvider(getMapper())); ClientConfig cc = new ClientConfig().register(new JacksonFeature()).register(new AuthorizationFilter());
Client client = ClientBuilder.newClient(cc); Client client = ClientBuilder.newClient(cc);
WebTarget webResourceGet = client.target(requestUrl).queryParam("gcube-token", token); WebTarget webResourceGet = client.target(requestUrl);
ResponseBean<R> response = webResourceGet.request(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON).get(returnType); ResponseBean<R> response = webResourceGet.request(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON).get(returnType);
if(response == null) if(response == null)
@ -53,15 +54,6 @@ public class HttpClient{
return response.getResult(); return response.getResult();
} }
// public static ObjectMapper getMapper(){
//
// ObjectMapper mapper = new ObjectMapper();
// mapper.enable(SerializationFeature.INDENT_OUTPUT);
// mapper.addMixIn(WorkspaceMessage.class, MessageOutputBeanMixIn.class);
// mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
// return mapper;
// }
/** /**
* Executes a post request * Executes a post request
* @param returnType * @param returnType
@ -71,25 +63,13 @@ public class HttpClient{
* @return * @return
* @throws JsonProcessingException * @throws JsonProcessingException
*/ */
public static <R> R post(GenericType<ResponseBean<R>> returnType, String requestUrl, String token, Object obj){ public static <R> R post(GenericType<ResponseBean<R>> returnType, String requestUrl, Object obj){
logger.debug("Executing post request at url " + requestUrl + " and token is " + maskedToken(token)); logger.debug("Executing post request at url " + requestUrl);
ClientConfig cc = new ClientConfig().register(new JacksonFeature()); ClientConfig cc = new ClientConfig().register(new JacksonFeature()).register(new AuthorizationFilter());
Client client = ClientBuilder.newClient(cc); Client client = ClientBuilder.newClient(cc);
WebTarget webResourceGet = client.target(requestUrl).queryParam("gcube-token", token); WebTarget webResourceGet = client.target(requestUrl);
//
// String asJson = null;
// try{
// ObjectMapper mapper = new ObjectMapper();
// mapper.enable(SerializationFeature.INDENT_OUTPUT);
// mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
// mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true);
// asJson = mapper.writeValueAsString(obj);
// logger.debug("Request body looks like\n"+asJson);
// }catch(Exception e){
// logger.error("Failed to parse data", e);
// }
logger.debug("Entity looks like " + Entity.json(obj)); logger.debug("Entity looks like " + Entity.json(obj));
@ -104,19 +84,4 @@ public class HttpClient{
return response.getResult(); return response.getResult();
} }
/**
* Avoid to show the token
* @param token
* @return
*/
private static String maskedToken(String token){
if(token == null)
return "";
else
return token.substring(0, 5) + "**************************";
}
} }

View File

@ -7,13 +7,12 @@ import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider; import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.homelibrary.home.workspace.sharing.WorkspaceMessage;
import org.gcube.common.scope.api.ScopeProvider; import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.portal.databook.shared.EnhancedFeed; import org.gcube.portal.databook.shared.EnhancedFeed;
import org.gcube.portal.databook.shared.JobStatusType; import org.gcube.portal.databook.shared.JobStatusType;
import org.gcube.portal.databook.shared.Notification; import org.gcube.portal.databook.shared.Notification;
import org.gcube.portal.socialnetworking.model.input.JobNotificationBean; import org.gcube.portal.socialnetworking.model.input.JobNotificationBean;
import org.gcube.portal.socialnetworking.model.input.MessageInputBean; import org.gcube.portal.socialnetworking.model.input.Message;
import org.gcube.portal.socialnetworking.model.input.Recipient; import org.gcube.portal.socialnetworking.model.input.Recipient;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
@ -63,27 +62,27 @@ public class TestClientServices {
@Test @Test
public void testMessagesReceived() throws Exception { public void testMessagesReceived() throws Exception {
MessagesClient messagesClient = new MessagesClient(); MessagesClient messagesClient = new MessagesClient();
List<WorkspaceMessage> receivedMessages = messagesClient.getReceivedMessages(); List<Message> receivedMessages = messagesClient.getReceivedMessages();
for (WorkspaceMessage workspaceMessage : receivedMessages) { for (Message workspaceMessage : receivedMessages) {
logger.debug("Received message " + workspaceMessage.toString()); logger.debug("Received message " + workspaceMessage.toString());
} }
} }
//@Test //@Test
public void testMessagesSent() throws Exception { public void testMessagesSent() throws Exception {
MessagesClient messagesClient = new MessagesClient(); MessagesClient messagesClient = new MessagesClient();
List<WorkspaceMessage> sentMessages = messagesClient.getSentMessages(); List<Message> sentMessages = messagesClient.getSentMessages();
for (WorkspaceMessage workspaceMessage : sentMessages) { for (Message workspaceMessage : sentMessages) {
logger.debug("Sent message was " + workspaceMessage); logger.debug("Sent message was " + workspaceMessage);
} }
} }
//@Test //@Test
public void sendMessage() throws Exception{ public void sendMessage() throws Exception{
logger.debug("Sending message "); logger.debug("Sending message ");
MessagesClient messagesClient = new MessagesClient(); MessagesClient messagesClient = new MessagesClient();
List<Recipient> rec = Arrays.asList(new Recipient("andrea.rossi")); List<Recipient> rec = Arrays.asList(new Recipient("andrea.rossi"));
MessageInputBean message = new MessageInputBean( Message message = new Message(
"Test message", "Test message",
"Sending message via client " + System.currentTimeMillis(), "Sending message via client " + System.currentTimeMillis(),
new ArrayList<Recipient>(rec)); new ArrayList<Recipient>(rec));
@ -113,7 +112,7 @@ public class TestClientServices {
notificationsClient.sendJobNotification(notification); notificationsClient.sendJobNotification(notification);
logger.debug("Sent job notification "); logger.debug("Sent job notification ");
} }
@After @After
public void reset(){ public void reset(){
ScopeProvider.instance.reset(); ScopeProvider.instance.reset();