Moved GET request implementations into a single method
This commit is contained in:
parent
b7b4e95e65
commit
4147df262d
@ -60,7 +60,7 @@ public class Client {
|
|||||||
public void sendMessage(Message message) {
|
public void sendMessage(Message message) {
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
// Wrap single message into messages list
|
// Wrap single message into messages list
|
||||||
Messages messages = wrapMessage(message);
|
Messages messages = wrapMessages(message);
|
||||||
|
|
||||||
// Print message XML to console
|
// Print message XML to console
|
||||||
JAXBContext jc;
|
JAXBContext jc;
|
||||||
@ -109,22 +109,10 @@ public class Client {
|
|||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Messages wrapMessage(Message... messages) {
|
public Users getUsersListXml() { return get(String.format("%s:%d/envoy-server/rest/user", config.getServer(), config.getPort()), Users.class); }
|
||||||
Messages wrapper = objectFactory.createMessages();
|
|
||||||
wrapper.getMessage().addAll(Arrays.asList(messages));
|
|
||||||
return wrapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Users getUsersListXml() {
|
public Messages getUnreadMessages(long userId) {
|
||||||
javax.ws.rs.client.Client client = ClientBuilder.newClient();
|
return get(String.format("%s:%d/envoy-server/rest/message/receive?userId=%d", config.getServer(), config.getPort(), userId), Messages.class);
|
||||||
WebTarget target = client
|
|
||||||
.target(String.format("%s:%d/envoy-server/rest/user", config.getServer(), config.getPort()));
|
|
||||||
Response response = target.request("application/xml").get();
|
|
||||||
Users users = response.readEntity(Users.class);
|
|
||||||
System.out.println("Response code: " + response.getStatus());
|
|
||||||
response.close();
|
|
||||||
client.close();
|
|
||||||
return users;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -132,35 +120,49 @@ public class Client {
|
|||||||
*
|
*
|
||||||
* @param name - the name of the {@link User}
|
* @param name - the name of the {@link User}
|
||||||
* @return a {@link User} with the specified name
|
* @return a {@link User} with the specified name
|
||||||
* @since Envoy 0.1
|
* @since Envoy v0.1-alpha
|
||||||
*/
|
*/
|
||||||
private User getUser(String name) {
|
private User getUser(String name) {
|
||||||
javax.ws.rs.client.Client client = ClientBuilder.newClient();
|
return get(String.format("%s:%d/envoy-server/rest/user/sender?name=%s", config.getServer(), config.getPort(), name), Users.class).getUser()
|
||||||
WebTarget target = client.target(String
|
.get(0);
|
||||||
.format("%s:%d/envoy-server/rest/user/sender?name=%s", config.getServer(), config.getPort(), name));
|
|
||||||
Response response = target.request("application/xml").get();
|
|
||||||
Users users = response.readEntity(Users.class);
|
|
||||||
System.out.println("Response code: " + response.getStatus());
|
|
||||||
response.close();
|
|
||||||
client.close();
|
|
||||||
return users.getUser().get(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Messages getUnreadMessages(long userId) {
|
/**
|
||||||
|
* Invokes the GET method of a web service.
|
||||||
|
*
|
||||||
|
* @param <T> the type of the object returned by the web service
|
||||||
|
* @param uri the URI of the web service
|
||||||
|
* @param responseClass the class of the object returned by the web service
|
||||||
|
* @return the object returned by the web service
|
||||||
|
* @since Envoy v0.1-alpha
|
||||||
|
*/
|
||||||
|
private <T> T get(String uri, Class<T> responseClass) {
|
||||||
javax.ws.rs.client.Client client = ClientBuilder.newClient();
|
javax.ws.rs.client.Client client = ClientBuilder.newClient();
|
||||||
WebTarget target = client.target(String
|
WebTarget target = client.target(uri);
|
||||||
.format("%s:%d/envoy-server/rest/message/receive?userId=%d", config.getServer(), config.getPort(), userId));
|
|
||||||
Response response = target.request("application/xml").get();
|
Response response = target.request("application/xml").get();
|
||||||
Messages unreadMessages = response.readEntity(Messages.class);
|
T responseObject = response.readEntity(responseClass);
|
||||||
System.out.println("Response code: " + response.getStatus());
|
System.out.println("Response code: " + response.getStatus());
|
||||||
response.close();
|
response.close();
|
||||||
client.close();
|
client.close();
|
||||||
return unreadMessages;
|
return responseObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wraps one or more {@link Message} objects into a {@link Messages} object.
|
||||||
|
*
|
||||||
|
* @param messages the {@link Message} objects to wrap
|
||||||
|
* @return {@link Messages} object with all messages as its children
|
||||||
|
* @since Envoy v0.1-alpha
|
||||||
|
*/
|
||||||
|
private Messages wrapMessages(Message... messages) {
|
||||||
|
Messages wrapper = objectFactory.createMessages();
|
||||||
|
wrapper.getMessage().addAll(Arrays.asList(messages));
|
||||||
|
return wrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the sender object that represents this client
|
* @return the sender object that represents this client
|
||||||
* @since Envoy 0.1
|
* @since Envoy v0.1-alpha
|
||||||
*/
|
*/
|
||||||
public User getSender() { return sender; }
|
public User getSender() { return sender; }
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user