From 01032acdcc48693b398fb439718a44642710fce1 Mon Sep 17 00:00:00 2001 From: Barbara Date: Tue, 17 Dec 2019 17:08:08 +0100 Subject: [PATCH] Added changes into import from json for studio and actor --- .idea/encodings.xml | 1 + .../ActorResourceClient.java | 31 +++++++++++-------- .../MoviesWebServiceClient.java | 1 - .../StudioResourceClient.java | 23 ++++++++++++-- 4 files changed, 39 insertions(+), 17 deletions(-) diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 9ca34f0..edae902 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -4,6 +4,7 @@ + diff --git a/MoviesClient/src/main/java/at.technikumwien.movies/ActorResourceClient.java b/MoviesClient/src/main/java/at.technikumwien.movies/ActorResourceClient.java index f00e7ea..02b2b16 100644 --- a/MoviesClient/src/main/java/at.technikumwien.movies/ActorResourceClient.java +++ b/MoviesClient/src/main/java/at.technikumwien.movies/ActorResourceClient.java @@ -8,35 +8,40 @@ import javax.ws.rs.core.GenericType; import javax.ws.rs.core.MediaType; import java.io.FileInputStream; import java.io.InputStream; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.List; import java.util.logging.Logger; -public class StudioResourceClient { - private static final Logger LOGGER = Logger.getLogger(StudioResourceClient.class.getName()); +public class ActorResourceClient { + private static final Logger LOGGER = Logger.getLogger(ActorResourceClient.class.getName()); public static void main(String[] args) throws Exception { - String filename = "import_studio.json"; + String filename = "import_actor.json"; var target = ClientBuilder.newClient() .register(new RequestFilter("moviesadmin", "topsecret")) - .target("http://localhost:8080/movieservice/resources/studio"); + .target("http://localhost:8080/movieservice/resources/actor"); ObjectMapper mapper = new ObjectMapper(); + // Added for supporting data types: + // https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310 + mapper.findAndRegisterModules(); // Read JSON file and convert to java object InputStream fileInputStream = new FileInputStream(filename); - Studio studio = mapper.readValue(fileInputStream, Studio.class); + Actor actor = mapper.readValue(fileInputStream, Actor.class); fileInputStream.close(); - LOGGER.info("Importing studio from json: " + studio); + LOGGER.info("Importing actor from json: " + actor); - // Import studio into the database - target.request().post(Entity.entity(studio, MediaType.APPLICATION_JSON), Studio.class); + // Import actor into the database + target.request().post(Entity.entity(actor, MediaType.APPLICATION_JSON), Actor.class); - // Show all studios - var studios = target + // Show all actors + var actors = target .request(MediaType.APPLICATION_JSON) - .get(new GenericType>() {}); + .get(new GenericType>() {}); - System.out.println("All studios:"); - studios.forEach(System.out::println); + System.out.println("All actors:"); + actors.forEach(System.out::println); } } diff --git a/MoviesClient/src/main/java/at.technikumwien.movies/MoviesWebServiceClient.java b/MoviesClient/src/main/java/at.technikumwien.movies/MoviesWebServiceClient.java index 234c9c6..31749bb 100644 --- a/MoviesClient/src/main/java/at.technikumwien.movies/MoviesWebServiceClient.java +++ b/MoviesClient/src/main/java/at.technikumwien.movies/MoviesWebServiceClient.java @@ -5,7 +5,6 @@ import at.technikumwien.movies.generated.Movie; import at.technikumwien.movies.generated.MoviesWebService; import at.technikumwien.movies.generated.MoviesWebService_Service; -import javax.xml.ws.Service; import java.util.List; public class MoviesWebServiceClient { diff --git a/MoviesClient/src/main/java/at.technikumwien.movies/StudioResourceClient.java b/MoviesClient/src/main/java/at.technikumwien.movies/StudioResourceClient.java index d2e0f5f..f00e7ea 100644 --- a/MoviesClient/src/main/java/at.technikumwien.movies/StudioResourceClient.java +++ b/MoviesClient/src/main/java/at.technikumwien.movies/StudioResourceClient.java @@ -1,20 +1,37 @@ 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 { - public static void main(String[] args) { + 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(); - target.request().post(Entity.entity(new Studio(":)", "AT", "664"), - MediaType.APPLICATION_JSON), Studio.class); + // 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>() {});