ws

JAX-RS CRUD operations client

  • App.java
  • User.java
  • pom.xml

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>