Added changes into import from json for studio and actor

This commit is contained in:
Barbara 2019-12-17 17:08:08 +01:00
parent 15ce324c04
commit 01032acdcc
4 changed files with 39 additions and 17 deletions

1
.idea/encodings.xml generated
View File

@ -4,6 +4,7 @@
<file url="file://$PROJECT_DIR$" charset="UTF-8" /> <file url="file://$PROJECT_DIR$" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesClient" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/MoviesClient" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesClient/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/MoviesClient/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesClient/target/generated" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesCommon" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/MoviesCommon" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesCommon/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/MoviesCommon/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesWebApp" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/MoviesWebApp" charset="UTF-8" />

View File

@ -8,35 +8,40 @@ import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
import java.util.logging.Logger; import java.util.logging.Logger;
public class StudioResourceClient { public class ActorResourceClient {
private static final Logger LOGGER = Logger.getLogger(StudioResourceClient.class.getName()); private static final Logger LOGGER = Logger.getLogger(ActorResourceClient.class.getName());
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
String filename = "import_studio.json"; String filename = "import_actor.json";
var target = ClientBuilder.newClient() var target = ClientBuilder.newClient()
.register(new RequestFilter("moviesadmin", "topsecret")) .register(new RequestFilter("moviesadmin", "topsecret"))
.target("http://localhost:8080/movieservice/resources/studio"); .target("http://localhost:8080/movieservice/resources/actor");
ObjectMapper mapper = new ObjectMapper(); 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 // Read JSON file and convert to java object
InputStream fileInputStream = new FileInputStream(filename); InputStream fileInputStream = new FileInputStream(filename);
Studio studio = mapper.readValue(fileInputStream, Studio.class); Actor actor = mapper.readValue(fileInputStream, Actor.class);
fileInputStream.close(); fileInputStream.close();
LOGGER.info("Importing studio from json: " + studio); LOGGER.info("Importing actor from json: " + actor);
// Import studio into the database // Import actor into the database
target.request().post(Entity.entity(studio, MediaType.APPLICATION_JSON), Studio.class); target.request().post(Entity.entity(actor, MediaType.APPLICATION_JSON), Actor.class);
// Show all studios // Show all actors
var studios = target var actors = target
.request(MediaType.APPLICATION_JSON) .request(MediaType.APPLICATION_JSON)
.get(new GenericType<List<Studio>>() {}); .get(new GenericType<List<Actor>>() {});
System.out.println("All studios:"); System.out.println("All actors:");
studios.forEach(System.out::println); actors.forEach(System.out::println);
} }
} }

View File

@ -5,7 +5,6 @@ import at.technikumwien.movies.generated.Movie;
import at.technikumwien.movies.generated.MoviesWebService; import at.technikumwien.movies.generated.MoviesWebService;
import at.technikumwien.movies.generated.MoviesWebService_Service; import at.technikumwien.movies.generated.MoviesWebService_Service;
import javax.xml.ws.Service;
import java.util.List; import java.util.List;
public class MoviesWebServiceClient { public class MoviesWebServiceClient {

View File

@ -1,20 +1,37 @@
package at.technikumwien.movies; package at.technikumwien.movies;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity; import javax.ws.rs.client.Entity;
import javax.ws.rs.core.GenericType; import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List; import java.util.List;
import java.util.logging.Logger;
public class StudioResourceClient { 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() var target = ClientBuilder.newClient()
.register(new RequestFilter("moviesadmin", "topsecret")) .register(new RequestFilter("moviesadmin", "topsecret"))
.target("http://localhost:8080/movieservice/resources/studio"); .target("http://localhost:8080/movieservice/resources/studio");
ObjectMapper mapper = new ObjectMapper();
target.request().post(Entity.entity(new Studio(":)", "AT", "664"), // Read JSON file and convert to java object
MediaType.APPLICATION_JSON), Studio.class); 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 var studios = target
.request(MediaType.APPLICATION_JSON) .request(MediaType.APPLICATION_JSON)
.get(new GenericType<List<Studio>>() {}); .get(new GenericType<List<Studio>>() {});