App.java
package com.training;
import java.util.List;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.WebResource;
public class App {
public static void main(String[] args) {
App app = new App();
app.deleteAll();
app.count();
String id1 = app.add("name1");
String id2 = app.add("name2");
String id3 = app.add("name3");
String id4 = app.add("name4");
app.count();
List<User> users = app.findAll();
app.showUsers(users);
app.delete(id2);
app.delete(id4);
users = app.findAll();
app.showUsers(users);
app.update(id1, "newName");
User user = app.find(id1);
app.showUser(user);
}
private void count() {
Client client = Client.create();
WebResource webResource = client
.resource("http://localhost:9080/jax_rs_crud_operations/service/user/count");
String count = webResource.get(String.class);
System.out.println("Count: " + count);
}
private String add(String name) {
Client client = Client.create();
WebResource webResource = client
.resource("http://localhost:9080/jax_rs_crud_operations/service/user/add");
String id = webResource.put(String.class, name);
System.out.println("Id: " + id);
return id;
}
private User find(String id) {
Client client = Client.create();
WebResource webResource = client
.resource("http://localhost:9080/jax_rs_crud_operations/service/user/"
+ id);
User user = webResource.get(User.class);
return user;
}
private List<User> findAll() {
Client client = Client.create();
WebResource webResource = client
.resource("http://localhost:9080/jax_rs_crud_operations/service/user/list");
List<User> users = webResource.get(new GenericType<List<User>>() {
});
return users;
}
private void delete(String id) {
Client client = Client.create();
WebResource webResource = client
.resource("http://localhost:9080/jax_rs_crud_operations/service/user/delete/"
+ id);
webResource.delete();
System.out.println("Deleted: " + id);
}
private void update(String id, String newName) {
Client client = Client.create();
WebResource webResource = client
.resource("http://localhost:9080/jax_rs_crud_operations/service/user/update/"
+ id);
webResource.post(newName);
System.out.println("Updated.");
}
private void deleteAll() {
List<User> users = findAll();
for (User user : users) {
delete(String.valueOf(user.getId()));
}
System.out.println("Deleted all data!!!");
}
private void showUsers(List<User> users) {
System.out.println("Users-BEGIN-");
for (User user : users) {
showUser(user);
}
System.out.println("Users-END-");
}
private void showUser(User user) {
System.out.println("Id: " + user.getId() + ", name: " + user.getName());
}
}
User.java
package com.training;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class User {
private int id;
private String name;
public User() {
}
public User(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.training</groupId>
<artifactId>jax_rs_crud_operations_client</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.18.3</version>
</dependency>
</dependencies>
</project>