diff --git a/RestEasy Example/pom.xml b/RestEasy Example/pom.xml
index 8dabfc863b..6935238d91 100644
--- a/RestEasy Example/pom.xml
+++ b/RestEasy Example/pom.xml
@@ -99,21 +99,6 @@
2.4
-
- com.fasterxml.jackson.core
- jackson-core
- 2.7.0
-
-
-
- com.fasterxml.jackson.core
- jackson-annotations
- 2.7.0
-
-
-
-
-
diff --git a/RestEasy Example/src/main/java/com/baeldung/client/ServicesInterface.java b/RestEasy Example/src/main/java/com/baeldung/client/ServicesInterface.java
index 2585c32438..7efed546d8 100644
--- a/RestEasy Example/src/main/java/com/baeldung/client/ServicesInterface.java
+++ b/RestEasy Example/src/main/java/com/baeldung/client/ServicesInterface.java
@@ -17,6 +17,12 @@ public interface ServicesInterface {
Movie movieByImdbID(@QueryParam("imdbID") String imdbID);
+ @GET
+ @Path("/listmovies")
+ @Produces({"application/json"})
+ List listMovies();
+
+
@POST
@Path("/addmovie")
@Consumes({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
@@ -34,9 +40,5 @@ public interface ServicesInterface {
Response deleteMovie(@QueryParam("imdbID") String imdbID);
- @GET
- @Path("/listmovies")
- @Produces({"application/json"})
- List listMovies();
}
diff --git a/RestEasy Example/src/main/java/com/baeldung/server/MovieCrudService.java b/RestEasy Example/src/main/java/com/baeldung/server/MovieCrudService.java
index 60e0121966..18366e2faa 100644
--- a/RestEasy Example/src/main/java/com/baeldung/server/MovieCrudService.java
+++ b/RestEasy Example/src/main/java/com/baeldung/server/MovieCrudService.java
@@ -18,18 +18,21 @@ public class MovieCrudService {
private Map inventory = new HashMap();
+
@GET
@Path("/getinfo")
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public Movie movieByImdbID(@QueryParam("imdbID") String imdbID){
- System.out.println("*** Calling getinfo ***");
+ System.out.println("*** Calling getinfo for a given ImdbID***");
+
+ if(inventory.containsKey(imdbID)){
+ return inventory.get(imdbID);
+ }else return null;
- Movie movie=new Movie();
- movie.setImdbID(imdbID);
- return movie;
}
+
@POST
@Path("/addmovie")
@Consumes({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
@@ -41,6 +44,7 @@ public class MovieCrudService {
return Response.status(Response.Status.NOT_MODIFIED)
.entity("Movie is Already in the database.").build();
}
+
inventory.put(movie.getImdbID(),movie);
return Response.status(Response.Status.CREATED).build();
@@ -54,7 +58,7 @@ public class MovieCrudService {
System.out.println("*** Calling updateMovie ***");
- if (null!=inventory.get(movie.getImdbID())){
+ if (null==inventory.get(movie.getImdbID())){
return Response.status(Response.Status.NOT_MODIFIED)
.entity("Movie is not in the database.\nUnable to Update").build();
}
@@ -79,6 +83,7 @@ public class MovieCrudService {
return Response.status(Response.Status.OK).build();
}
+
@GET
@Path("/listmovies")
@Produces({"application/json"})
diff --git a/RestEasy Example/src/main/webapp/WEB-INF/web.xml b/RestEasy Example/src/main/webapp/WEB-INF/web.xml
index c66d3b56ae..ab3bc1aa83 100644
--- a/RestEasy Example/src/main/webapp/WEB-INF/web.xml
+++ b/RestEasy Example/src/main/webapp/WEB-INF/web.xml
@@ -33,7 +33,7 @@
javax.ws.rs.Application
- com.baeldung.server.service.RestEasyServices
+ com.baeldung.server.RestEasyServices
diff --git a/RestEasy Example/src/test/java/com/baeldung/server/RestEasyClient.java b/RestEasy Example/src/test/java/com/baeldung/server/RestEasyClient.java
deleted file mode 100644
index c77f494862..0000000000
--- a/RestEasy Example/src/test/java/com/baeldung/server/RestEasyClient.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.baeldung.server;
-
-import com.baeldung.model.Movie;
-import com.baeldung.client.ServicesInterface;
-import org.apache.commons.io.IOUtils;
-import org.codehaus.jackson.map.DeserializationConfig;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.jboss.resteasy.client.jaxrs.ResteasyClient;
-import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
-import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.naming.NamingException;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Locale;
-
-public class RestEasyClient {
-
-
- Movie transformerMovie=null;
- Movie batmanMovie=null;
- ObjectMapper jsonMapper=null;
-
- @BeforeClass
- public static void loadMovieInventory(){
-
-
-
- }
-
- @Before
- public void setup() throws ClassNotFoundException, IllegalAccessException, InstantiationException, NamingException {
-
-
- jsonMapper=new ObjectMapper().configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- jsonMapper.configure(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
- SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH);
- jsonMapper.setDateFormat(sdf);
-
- try (InputStream inputStream = new RestEasyClient().getClass().getResourceAsStream("./movies/transformer.json")) {
- String transformerMovieAsString = String.format(IOUtils.toString(inputStream, StandardCharsets.UTF_8));
- transformerMovie = jsonMapper.readValue(transformerMovieAsString, Movie.class);
- } catch (Exception e) {
- e.printStackTrace();
- throw new RuntimeException("Test is going to die ...", e);
- }
-
- try (InputStream inputStream = new RestEasyClient().getClass().getResourceAsStream("./movies/batman.json")) {
- String batmanMovieAsString = String.format(IOUtils.toString(inputStream, StandardCharsets.UTF_8));
- batmanMovie = jsonMapper.readValue(batmanMovieAsString, Movie.class);
-
- } catch (Exception e) {
- e.printStackTrace();
- throw new RuntimeException("Test is going to die ...", e);
- }
-
- }
-
- @Test
- public void testListAllMovies() {
-
- try {
- ResteasyClient client = new ResteasyClientBuilder().build();
- ResteasyWebTarget target = client.target(UriBuilder.fromPath("http://localhost:8080/RestEasyTutorial/rest"));
- ServicesInterface simple = target.proxy(ServicesInterface.class);
-
- final List movies = simple.listMovies();
- System.out.println(movies);
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-
-
- @Test
- public void testAddMovie() {
-
- try {
- ResteasyClient client = new ResteasyClientBuilder().build();
- ResteasyWebTarget target = client.target(UriBuilder.fromPath("http://localhost:8080/RestEasyTutorial/rest"));
-
- ServicesInterface simple = target.proxy(ServicesInterface.class);
- final Response moviesResponse = simple.addMovie(batmanMovie);
-
- if (moviesResponse.getStatus() != 201) {
- System.out.println(moviesResponse.readEntity(String.class));
- throw new RuntimeException("Failed : HTTP error code : "
- + moviesResponse.getStatus());
- }
-
- moviesResponse.close();
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-}
\ No newline at end of file
diff --git a/RestEasy Example/src/test/java/com/baeldung/server/RestEasyClientTest.java b/RestEasy Example/src/test/java/com/baeldung/server/RestEasyClientTest.java
new file mode 100644
index 0000000000..fb4205bcd7
--- /dev/null
+++ b/RestEasy Example/src/test/java/com/baeldung/server/RestEasyClientTest.java
@@ -0,0 +1,189 @@
+package com.baeldung.server;
+
+import com.baeldung.model.Movie;
+import com.baeldung.client.ServicesInterface;
+import org.apache.commons.io.IOUtils;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.jboss.resteasy.client.jaxrs.ResteasyClient;
+import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
+import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import javax.naming.NamingException;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
+import java.util.List;
+import java.util.Locale;
+
+public class RestEasyClientTest {
+
+
+ Movie transformerMovie=null;
+ Movie batmanMovie=null;
+ ObjectMapper jsonMapper=null;
+
+ @BeforeClass
+ public static void loadMovieInventory(){
+
+
+
+ }
+
+ @Before
+ public void setup() throws ClassNotFoundException, IllegalAccessException, InstantiationException, NamingException {
+
+
+ jsonMapper=new ObjectMapper().configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ jsonMapper.configure(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
+ SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH);
+ jsonMapper.setDateFormat(sdf);
+
+ try (InputStream inputStream = new RestEasyClientTest().getClass().getResourceAsStream("./movies/transformer.json")) {
+ String transformerMovieAsString = String.format(IOUtils.toString(inputStream, StandardCharsets.UTF_8));
+ transformerMovie = jsonMapper.readValue(transformerMovieAsString, Movie.class);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("Test is going to die ...", e);
+ }
+
+ try (InputStream inputStream = new RestEasyClientTest().getClass().getResourceAsStream("./movies/batman.json")) {
+ String batmanMovieAsString = String.format(IOUtils.toString(inputStream, StandardCharsets.UTF_8));
+ batmanMovie = jsonMapper.readValue(batmanMovieAsString, Movie.class);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("Test is going to die ...", e);
+ }
+
+ }
+
+
+ @Test
+ public void testListAllMovies() {
+
+ try {
+ ResteasyClient client = new ResteasyClientBuilder().build();
+ ResteasyWebTarget target = client.target(UriBuilder.fromPath("http://localhost:8080/RestEasyTutorial/rest"));
+ ServicesInterface simple = target.proxy(ServicesInterface.class);
+
+ Response moviesResponse = simple.addMovie(transformerMovie);
+ moviesResponse.close();
+ moviesResponse = simple.addMovie(batmanMovie);
+ moviesResponse.close();
+
+ final List movies = simple.listMovies();
+ System.out.println(movies);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ @Test
+ public void testMovieByImdbID() {
+
+ String transformerImdbId="tt0418279";
+
+ try {
+ ResteasyClient client = new ResteasyClientBuilder().build();
+ ResteasyWebTarget target = client.target(UriBuilder.fromPath("http://localhost:8080/RestEasyTutorial/rest"));
+ ServicesInterface simple = target.proxy(ServicesInterface.class);
+
+ Response moviesResponse = simple.addMovie(transformerMovie);
+ moviesResponse.close();
+
+ final Movie movies = simple.movieByImdbID(transformerImdbId);
+ System.out.println(movies);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ @Test
+ public void testAddMovie() {
+
+ try {
+ ResteasyClient client = new ResteasyClientBuilder().build();
+ ResteasyWebTarget target = client.target(UriBuilder.fromPath("http://localhost:8080/RestEasyTutorial/rest"));
+ ServicesInterface simple = target.proxy(ServicesInterface.class);
+
+ Response moviesResponse = simple.addMovie(batmanMovie);
+ moviesResponse.close();
+ moviesResponse = simple.addMovie(transformerMovie);
+
+ if (moviesResponse.getStatus() != Response.Status.CREATED.getStatusCode()) {
+ //System.out.println(moviesResponse.readEntity(String.class));
+ System.out.println("Failed : HTTP error code : " + moviesResponse.getStatus());
+ }
+ moviesResponse.close();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ @Test
+ public void testDeleteMovie() {
+
+ String transformerImdbId="tt0418279";
+
+ try {
+ ResteasyClient client = new ResteasyClientBuilder().build();
+ ResteasyWebTarget target = client.target(UriBuilder.fromPath("http://localhost:8080/RestEasyTutorial/rest"));
+ ServicesInterface simple = target.proxy(ServicesInterface.class);
+
+ Response moviesResponse = simple.addMovie(batmanMovie);
+ moviesResponse.close();
+ moviesResponse = simple.deleteMovie(transformerImdbId);
+ moviesResponse.close();
+
+ if (moviesResponse.getStatus() != Response.Status.OK.getStatusCode()) {
+ System.out.println(moviesResponse.readEntity(String.class));
+ throw new RuntimeException("Failed : HTTP error code : " + moviesResponse.getStatus());
+ }
+
+ moviesResponse.close();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ @Test
+ public void testUpdateMovie() {
+
+ try {
+
+ ResteasyClient client = new ResteasyClientBuilder().build();
+ ResteasyWebTarget target = client.target(UriBuilder.fromPath("http://localhost:8080/RestEasyTutorial/rest"));
+ ServicesInterface simple = target.proxy(ServicesInterface.class);
+
+ Response moviesResponse = simple.addMovie(batmanMovie);
+ moviesResponse.close();
+ batmanMovie.setImdbVotes("300,000");
+ moviesResponse = simple.updateMovie(batmanMovie);
+
+ if (moviesResponse.getStatus() != Response.Status.OK.getStatusCode()) {
+ //System.out.println(moviesResponse.readEntity(String.class));
+ System.out.println("Failed : HTTP error code : " + moviesResponse.getStatus());
+ }
+
+ moviesResponse.close();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+}
\ No newline at end of file