diff --git a/MoviesClient/MoviesClient.iml b/MoviesClient/MoviesClient.iml index f60a150..7651d0e 100644 --- a/MoviesClient/MoviesClient.iml +++ b/MoviesClient/MoviesClient.iml @@ -97,5 +97,6 @@ + \ No newline at end of file diff --git a/MoviesClient/pom.xml b/MoviesClient/pom.xml index 96ad7ed..6ce7aaa 100644 --- a/MoviesClient/pom.xml +++ b/MoviesClient/pom.xml @@ -47,6 +47,12 @@ resteasy-jackson2-provider 4.3.1.Final + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.10.1 + diff --git a/MoviesClient/src/main/java/at.technikumwien.movies/ActorResourceClient.java b/MoviesClient/src/main/java/at.technikumwien.movies/ActorResourceClient.java new file mode 100644 index 0000000..f00e7ea --- /dev/null +++ b/MoviesClient/src/main/java/at.technikumwien.movies/ActorResourceClient.java @@ -0,0 +1,42 @@ +package at.technikumwien.movies; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Entity; +import javax.ws.rs.core.GenericType; +import javax.ws.rs.core.MediaType; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.List; +import java.util.logging.Logger; + +public class StudioResourceClient { + private static final Logger LOGGER = Logger.getLogger(StudioResourceClient.class.getName()); + + public static void main(String[] args) throws Exception { + + String filename = "import_studio.json"; + var target = ClientBuilder.newClient() + .register(new RequestFilter("moviesadmin", "topsecret")) + .target("http://localhost:8080/movieservice/resources/studio"); + ObjectMapper mapper = new ObjectMapper(); + + // Read JSON file and convert to java object + InputStream fileInputStream = new FileInputStream(filename); + Studio studio = mapper.readValue(fileInputStream, Studio.class); + fileInputStream.close(); + LOGGER.info("Importing studio from json: " + studio); + + // Import studio into the database + target.request().post(Entity.entity(studio, MediaType.APPLICATION_JSON), Studio.class); + + // Show all studios + var studios = target + .request(MediaType.APPLICATION_JSON) + .get(new GenericType>() {}); + + System.out.println("All studios:"); + studios.forEach(System.out::println); + } +} diff --git a/MoviesClient/src/main/java/at.technikumwien.movies/MovieResourceClient.java b/MoviesClient/src/main/java/at.technikumwien.movies/MovieResourceClient.java deleted file mode 100644 index 47a7595..0000000 --- a/MoviesClient/src/main/java/at.technikumwien.movies/MovieResourceClient.java +++ /dev/null @@ -1,29 +0,0 @@ -package at.technikumwien.movies; - -import javax.ws.rs.client.ClientBuilder; -import javax.ws.rs.core.GenericType; -import javax.ws.rs.core.MediaType; -import java.util.List; - -public class MovieResourceClient { - public static void main(String[] args) { - var target = ClientBuilder.newClient() - .register(new RequestFilter("moviesuser", "topsecret")) - .target("http://localhost:8080/movieservice/resources/movie"); - - List allMovies = target - .request(MediaType.APPLICATION_XML) - .get(new GenericType>() {}); // Solution for List.class - - System.out.println("All movies by XML:"); - allMovies.forEach(System.out::println); - - var movie = target.path("/{id}") - .resolveTemplate("id", 1) // Useful for pre-defining templates - .request(MediaType.APPLICATION_JSON) - .get(Movie.class); - - System.out.println("First movie by ID by JSON:"); - System.out.println(movie); - } -} diff --git a/MoviesClient/src/main/java/at.technikumwien.movies/StudioResourceClient.java b/MoviesClient/src/main/java/at.technikumwien.movies/StudioResourceClient.java new file mode 100644 index 0000000..d2e0f5f --- /dev/null +++ b/MoviesClient/src/main/java/at.technikumwien.movies/StudioResourceClient.java @@ -0,0 +1,25 @@ +package at.technikumwien.movies; + +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Entity; +import javax.ws.rs.core.GenericType; +import javax.ws.rs.core.MediaType; +import java.util.List; + +public class StudioResourceClient { + public static void main(String[] args) { + var target = ClientBuilder.newClient() + .register(new RequestFilter("moviesadmin", "topsecret")) + .target("http://localhost:8080/movieservice/resources/studio"); + + target.request().post(Entity.entity(new Studio(":)", "AT", "664"), + MediaType.APPLICATION_JSON), Studio.class); + + var studios = target + .request(MediaType.APPLICATION_JSON) + .get(new GenericType>() {}); + + System.out.println("All studios:"); + studios.forEach(System.out::println); + } +} diff --git a/import_actor.json b/import_actor.json new file mode 100644 index 0000000..8b9a067 --- /dev/null +++ b/import_actor.json @@ -0,0 +1,6 @@ +{ + "firstname": "Test3", + "lastname": "Actor", + "sex": "MALE", + "birthdate": "01.01.1888" +} diff --git a/import_studio.json b/import_studio.json new file mode 100644 index 0000000..ebe6bbd --- /dev/null +++ b/import_studio.json @@ -0,0 +1,5 @@ +{ + "name": "studio2", + "countrycode": "AT", + "postcode": "123PO" +}