From 28a73932ae4488b32bc7d50caec5ed41fd9b4e0a Mon Sep 17 00:00:00 2001 From: karl Date: Sun, 1 Dec 2019 18:57:31 +0100 Subject: [PATCH] Rename plural classes to singular, make XmlHelper types coherent No functional changes, only nicer code --- .../MoviesWebServiceClient.java | 6 +-- .../at.technikumwien.movies/XmlHelper.java | 10 +++-- .../{Actors.java => Actor.java} | 8 ++-- .../{Movies.java => Movie.java} | 12 +++--- .../at.technikumwien.movies/MovieList.java | 2 +- .../MoviesWebService.java | 6 +-- .../{Studios.java => Studio.java} | 8 ++-- .../technikumwien/movies/MoviesManaged.java | 2 +- .../technikumwien/movies/MoviesService.java | 42 +++++++++---------- .../movies/MoviesWebServiceImpl.java | 6 +-- movietest.xml | 2 +- 11 files changed, 53 insertions(+), 51 deletions(-) rename MoviesCommon/src/main/java/at.technikumwien.movies/{Actors.java => Actor.java} (85%) rename MoviesCommon/src/main/java/at.technikumwien.movies/{Movies.java => Movie.java} (83%) rename MoviesCommon/src/main/java/at.technikumwien.movies/{Studios.java => Studio.java} (83%) diff --git a/MoviesClient/src/main/java/at.technikumwien.movies/MoviesWebServiceClient.java b/MoviesClient/src/main/java/at.technikumwien.movies/MoviesWebServiceClient.java index 1dd0d59..ca17d60 100644 --- a/MoviesClient/src/main/java/at.technikumwien.movies/MoviesWebServiceClient.java +++ b/MoviesClient/src/main/java/at.technikumwien.movies/MoviesWebServiceClient.java @@ -1,6 +1,5 @@ package at.technikumwien.movies; -import javax.sound.sampled.Port; import javax.xml.namespace.QName; import javax.xml.ws.Service; import java.net.URL; @@ -15,11 +14,12 @@ public class MoviesWebServiceClient { MoviesWebService port = service.getPort(MoviesWebService.class); // TODO: Move to a better place + // Import movies - List movies = XmlHelper.xmlToMovies("movietest.xml"); + List movies = XmlHelper.xmlToMovies("movietest.xml"); port.importMovies(movies); // Export all existing movies - XmlHelper.moviesToXml(new MovieList(port.getAllMovies()), "movies_in_db.xml"); + XmlHelper.moviesToXml(port.getAllMovies(), "movies_in_db.xml"); } } diff --git a/MoviesClient/src/main/java/at.technikumwien.movies/XmlHelper.java b/MoviesClient/src/main/java/at.technikumwien.movies/XmlHelper.java index 9f5cc9c..a83d27b 100644 --- a/MoviesClient/src/main/java/at.technikumwien.movies/XmlHelper.java +++ b/MoviesClient/src/main/java/at.technikumwien.movies/XmlHelper.java @@ -6,7 +6,9 @@ import java.io.File; import java.util.List; public class XmlHelper { - public static void moviesToXml(MovieList movies, String filename) throws Exception { + public static void moviesToXml(List movies, String filename) throws Exception { + MovieList movieList = new MovieList(movies); + JAXBContext jaxbContext = JAXBContext.newInstance(MovieList.class); Marshaller marshaller = jaxbContext.createMarshaller(); @@ -14,11 +16,11 @@ public class XmlHelper { marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - marshaller.marshal(movies, System.out); - marshaller.marshal(movies, new File(filename)); + marshaller.marshal(movieList, System.out); + marshaller.marshal(movieList, new File(filename)); } - public static List xmlToMovies(String filename) throws JAXBException { + public static List xmlToMovies(String filename) throws JAXBException { JAXBContext jaxbContext = JAXBContext.newInstance(MovieList.class); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/Actors.java b/MoviesCommon/src/main/java/at.technikumwien.movies/Actor.java similarity index 85% rename from MoviesCommon/src/main/java/at.technikumwien.movies/Actors.java rename to MoviesCommon/src/main/java/at.technikumwien.movies/Actor.java index bba5d68..9d18939 100644 --- a/MoviesCommon/src/main/java/at.technikumwien.movies/Actors.java +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/Actor.java @@ -17,7 +17,7 @@ import java.time.LocalDate; @NamedQueries({ @NamedQuery( name = "Actors.getIdByProperties", - query = "SELECT a FROM Actors a WHERE " + + query = "SELECT a FROM Actor a WHERE " + "a.firstname LIKE :firstname AND " + "a.lastname LIKE :lastname AND " + "a.sex = :sex AND " + @@ -25,11 +25,11 @@ import java.time.LocalDate; ), @NamedQuery( name = "Actors.selectAllActors", - query = "SELECT n FROM Actors n" + query = "SELECT n FROM Actor n" ) }) @XmlRootElement -public class Actors { +public class Actor { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @XmlTransient @@ -51,7 +51,7 @@ public class Actors { @XmlAttribute private LocalDate birthdate; - public Actors(String firstname, String lastname, Sex sex, LocalDate birthdate) { + public Actor(String firstname, String lastname, Sex sex, LocalDate birthdate) { this(null, firstname, lastname, sex, birthdate); } } diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/Movies.java b/MoviesCommon/src/main/java/at.technikumwien.movies/Movie.java similarity index 83% rename from MoviesCommon/src/main/java/at.technikumwien.movies/Movies.java rename to MoviesCommon/src/main/java/at.technikumwien.movies/Movie.java index 2f5df8d..6c97901 100644 --- a/MoviesCommon/src/main/java/at.technikumwien.movies/Movies.java +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/Movie.java @@ -15,16 +15,16 @@ import java.util.List; @NamedQueries({ @NamedQuery( name = "Movies.selectAll", - query = "SELECT n FROM Movies n" + query = "SELECT n FROM Movie n" ), @NamedQuery( name = "Movies.selectByTitle", - query = "SELECT n FROM Movies n WHERE n.title LIKE :title" + query = "SELECT n FROM Movie n WHERE n.title LIKE :title" ) }) @XmlRootElement -public class Movies { +public class Movie { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @XmlTransient @@ -57,14 +57,14 @@ public class Movies { inverseJoinColumns = @JoinColumn(name = "fk_actors_id")) @XmlElementWrapper(name = "actors") @XmlElement(name = "actor") - private List actors; + private List actors; @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "fk_studios_id") @XmlElement - private Studios studio; + private Studio studio; - public Movies(String title, String description, Genre genre, int length, int releaseyear) { + public Movie(String title, String description, Genre genre, int length, int releaseyear) { this.title = title; this.description = description; this.genre = genre; diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/MovieList.java b/MoviesCommon/src/main/java/at.technikumwien.movies/MovieList.java index dd4bce0..2eb4bd6 100644 --- a/MoviesCommon/src/main/java/at.technikumwien.movies/MovieList.java +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/MovieList.java @@ -13,5 +13,5 @@ import java.util.List; @NoArgsConstructor public class MovieList { @XmlElement(name="movie") - public List movies; + public List movies; } diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/MoviesWebService.java b/MoviesCommon/src/main/java/at.technikumwien.movies/MoviesWebService.java index 5f64319..64be9e5 100644 --- a/MoviesCommon/src/main/java/at.technikumwien.movies/MoviesWebService.java +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/MoviesWebService.java @@ -7,11 +7,11 @@ import java.util.List; @WebService public interface MoviesWebService { @WebMethod - List getAllMovies(); + List getAllMovies(); @WebMethod - List getMoviesByTitle(String title); + List getMoviesByTitle(String title); @WebMethod - void importMovies(List movies); + void importMovies(List movies); } diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/Studios.java b/MoviesCommon/src/main/java/at.technikumwien.movies/Studio.java similarity index 83% rename from MoviesCommon/src/main/java/at.technikumwien.movies/Studios.java rename to MoviesCommon/src/main/java/at.technikumwien.movies/Studio.java index 96b13c6..d9eed27 100644 --- a/MoviesCommon/src/main/java/at.technikumwien.movies/Studios.java +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/Studio.java @@ -17,17 +17,17 @@ import javax.xml.bind.annotation.XmlTransient; @NamedQueries({ @NamedQuery( name = "Studios.getIdByProperties", - query = "SELECT a FROM Studios a WHERE " + + query = "SELECT a FROM Studio a WHERE " + "a.countrycode LIKE :countrycode AND " + "a.name LIKE :name AND " + "a.postcode LIKE :postcode" ), @NamedQuery( name = "Studios.selectAllStudios", - query = "SELECT n FROM Studios n" + query = "SELECT n FROM Studio n" ) }) -public class Studios { +public class Studio { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @XmlTransient @@ -43,7 +43,7 @@ public class Studios { @XmlAttribute private String postcode; - public Studios(String name, String countrycode, String postcode) { + public Studio(String name, String countrycode, String postcode) { this(null, name, countrycode, postcode); } } diff --git a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesManaged.java b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesManaged.java index 16b284c..a25a4ac 100644 --- a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesManaged.java +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesManaged.java @@ -11,7 +11,7 @@ public class MoviesManaged { @Inject private MoviesService moviesService; - public List getAllMovies(){ + public List getAllMovies(){ return moviesService.findAll(); } } diff --git a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesService.java b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesService.java index 65826d2..e06df50 100644 --- a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesService.java +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesService.java @@ -19,63 +19,63 @@ public class MoviesService { @PersistenceContext(unitName = "MoviesPU") private EntityManager em; - public Movies findById(long id) { + public Movie findById(long id) { LOGGER.info("findById() >> id=" + id); - Movies movies = em.find(Movies.class, id); - if (movies == null) { + Movie movie = em.find(Movie.class, id); + if (movie == null) { throw new EntityNotFoundException("can't find movie with id=" + id); } - return movies; + return movie; } - public List findByTitle(String title) { + public List findByTitle(String title) { LOGGER.info("findByTitle() >> title=" + title); - return em.createNamedQuery("Movies.selectByTitle", Movies.class) + return em.createNamedQuery("Movies.selectByTitle", Movie.class) .setParameter("title", "%" + title + "%") .getResultList(); } - public List findAll() { + public List findAll() { LOGGER.info("findAll()"); - return em.createNamedQuery("Movies.selectAll", Movies.class) //JPQL -> java persistence query language + return em.createNamedQuery("Movies.selectAll", Movie.class) //JPQL -> java persistence query language .getResultList(); } public void removeById(long id) { LOGGER.info("removeById() >> id=" + id); - Movies movies = findById(id); - em.remove(movies); //managed news required + Movie movie = findById(id); + em.remove(movie); //managed news required } - public List findAllActors() { + public List findAllActors() { LOGGER.info("findAllActors)"); - return em.createNamedQuery("Actors.selectAllActors", Actors.class) + return em.createNamedQuery("Actors.selectAllActors", Actor.class) .getResultList(); } - public List findAllStudios() { + public List findAllStudios() { LOGGER.info("findAllStudios)"); - return em.createNamedQuery("Studios.selectAllStudios", Studios.class) + return em.createNamedQuery("Studios.selectAllStudios", Studio.class) .getResultList(); } // TODO maybe check if the movie already exists? @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) - public void save(List movies) { + public void save(List movies) { try { - for (Movies movie : movies) { + for (Movie movie : movies) { // Get studio for the movie from the database - Studios movieStudio = movie.getStudio(); + Studio movieStudio = movie.getStudio(); LOGGER.info("Get a studio" + movieStudio); - List studioListResult = em.createNamedQuery("Studios.getIdByProperties", Studios.class) + List studioListResult = em.createNamedQuery("Studios.getIdByProperties", Studio.class) .setParameter("name", movieStudio.getName()) .setParameter("countrycode", movieStudio.getCountrycode()) .setParameter("postcode", movieStudio.getPostcode()) @@ -94,9 +94,9 @@ public class MoviesService { } // Get actor for the movie from the database - for (Actors movieActor : movie.getActors()) { + for (Actor movieActor : movie.getActors()) { LOGGER.info("Get an actor " + movieActor); - List actorListResult = em.createNamedQuery("Actors.getIdByProperties", Actors.class) + List actorListResult = em.createNamedQuery("Actors.getIdByProperties", Actor.class) .setParameter("firstname", movieActor.getFirstname()) .setParameter("lastname", movieActor.getLastname()) .setParameter("sex", movieActor.getSex()) @@ -118,7 +118,7 @@ public class MoviesService { } LOGGER.info("save() >> movies" + movies); - for (Movies movieToImport : movies) { + for (Movie movieToImport : movies) { em.merge(movieToImport); } } catch (Exception e) { diff --git a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebServiceImpl.java b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebServiceImpl.java index 7f4622f..f8a3292 100644 --- a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebServiceImpl.java +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebServiceImpl.java @@ -17,17 +17,17 @@ public class MoviesWebServiceImpl implements MoviesWebService { private MoviesService moviesService; @Override - public List getAllMovies() { + public List getAllMovies() { return moviesService.findAll(); } @Override - public List getMoviesByTitle(String title) { + public List getMoviesByTitle(String title) { return moviesService.findByTitle(title); } @Override - public void importMovies(List movies) { + public void importMovies(List movies) { moviesService.save(movies); } } diff --git a/movietest.xml b/movietest.xml index eaab63b..07437b3 100644 --- a/movietest.xml +++ b/movietest.xml @@ -1,6 +1,6 @@ - +