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$/MoviesClient" 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/src/main/java" 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 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<List<Studio>>() {});
.get(new GenericType<List<Actor>>() {});
System.out.println("All studios:");
studios.forEach(System.out::println);
System.out.println("All actors:");
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_Service;
import javax.xml.ws.Service;
import java.util.List;
public class MoviesWebServiceClient {

View File

@ -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<List<Studio>>() {});