diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..529478f --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +MoviesApp \ No newline at end of file diff --git a/.idea/artifacts/MoviesClient_war.xml b/.idea/artifacts/MoviesClient_war.xml new file mode 100644 index 0000000..f1acc79 --- /dev/null +++ b/.idea/artifacts/MoviesClient_war.xml @@ -0,0 +1,14 @@ + + + $PROJECT_DIR$/MoviesClient/target + + + MoviesClient + war + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/MoviesClient_war_exploded.xml b/.idea/artifacts/MoviesClient_war_exploded.xml new file mode 100644 index 0000000..5f5576b --- /dev/null +++ b/.idea/artifacts/MoviesClient_war_exploded.xml @@ -0,0 +1,23 @@ + + + $PROJECT_DIR$/MoviesClient/target/movieservice + + + true + MoviesClient + war + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/MoviesCommon_war.xml b/.idea/artifacts/MoviesCommon_war.xml new file mode 100644 index 0000000..7351569 --- /dev/null +++ b/.idea/artifacts/MoviesCommon_war.xml @@ -0,0 +1,14 @@ + + + $PROJECT_DIR$/MoviesCommon/target + + + MoviesCommon + war + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/MoviesCommon_war_exploded.xml b/.idea/artifacts/MoviesCommon_war_exploded.xml new file mode 100644 index 0000000..c486ef4 --- /dev/null +++ b/.idea/artifacts/MoviesCommon_war_exploded.xml @@ -0,0 +1,23 @@ + + + $PROJECT_DIR$/MoviesCommon/target/movieservice + + + true + MoviesCommon + war + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/MoviesWebApp_war.xml b/.idea/artifacts/MoviesWebApp_war.xml new file mode 100644 index 0000000..2bdb8d9 --- /dev/null +++ b/.idea/artifacts/MoviesWebApp_war.xml @@ -0,0 +1,14 @@ + + + $PROJECT_DIR$/MoviesWebApp/target + + + MoviesWebApp + war + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/MoviesWebApp_war_exploded.xml b/.idea/artifacts/MoviesWebApp_war_exploded.xml new file mode 100644 index 0000000..4b2d59c --- /dev/null +++ b/.idea/artifacts/MoviesWebApp_war_exploded.xml @@ -0,0 +1,28 @@ + + + $PROJECT_DIR$/MoviesWebApp/target/movieservice + + + true + MoviesWebApp + war + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..5a663f3 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..d63dcda --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6441a40 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..837dd69 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..ed9651d --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/MovieServiceWebApp.iml b/MovieServiceWebApp.iml new file mode 100644 index 0000000..2be8185 --- /dev/null +++ b/MovieServiceWebApp.iml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesApp.iml b/MoviesApp.iml new file mode 100644 index 0000000..ad5a890 --- /dev/null +++ b/MoviesApp.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesClient/MoviesClient.iml b/MoviesClient/MoviesClient.iml new file mode 100644 index 0000000..1dbd300 --- /dev/null +++ b/MoviesClient/MoviesClient.iml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesClient/pom.xml b/MoviesClient/pom.xml new file mode 100644 index 0000000..1f1a1bc --- /dev/null +++ b/MoviesClient/pom.xml @@ -0,0 +1,81 @@ + + + + 4.0.0 + + + at.technikumwien + MoviesApp + 1.0.0-SNAPSHOT + + + MoviesClient + 1.0.0-SNAPSHOT + jar + + MoviesClient + + http://www.example.com + + + + com.sun.xml.ws + jaxws-ri + pom + + + + at.technikumwien + MoviesCommon + 1.0.0-SNAPSHOT + + + + + movieservice + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-war-plugin + 3.2.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 9 + 9 + + + + + diff --git a/MoviesCommon/MoviesCommon.iml b/MoviesCommon/MoviesCommon.iml new file mode 100644 index 0000000..acd7ad9 --- /dev/null +++ b/MoviesCommon/MoviesCommon.iml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesCommon/pom.xml b/MoviesCommon/pom.xml new file mode 100644 index 0000000..e42f68c --- /dev/null +++ b/MoviesCommon/pom.xml @@ -0,0 +1,99 @@ + + + + 4.0.0 + + + at.technikumwien + MoviesApp + 1.0.0-SNAPSHOT + + + MoviesCommon + 1.0.0-SNAPSHOT + jar + + MoviesCommon + + http://www.example.com + + + + + javax + javaee-web-api + provided + + + + junit + junit + 4.11 + test + + + + + org.projectlombok + lombok + 1.18.10 + provided + + + + com.sun.xml.ws + jaxws-ri + pom + provided + + + + + + movieservice + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-war-plugin + 3.2.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 9 + 9 + + + + + diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/Actors.java b/MoviesCommon/src/main/java/at.technikumwien.movies/Actors.java new file mode 100644 index 0000000..7bfb3fa --- /dev/null +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/Actors.java @@ -0,0 +1,37 @@ +package at.technikumwien.movies; + +import lombok.*; + +import javax.persistence.*; +import java.time.LocalDate; + +@Data +@NoArgsConstructor +@AllArgsConstructor + +@Entity +@Table(name = "t_actors") +public class Actors { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(length = 100, nullable = false) + private String firstname; + + @Column(length = 100, nullable = false) + private String lastname; + + @Column(nullable = false) + private Sex sex; + + private LocalDate birthdate; + + public Actors(String firstname, String lastname, Sex sex, LocalDate birthdate) { + this(null, firstname, lastname, sex, birthdate); + } + + //TODO consider using + //@ManyToMany(mappedBy = 'actors') + //private List movies +} diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/Genre.java b/MoviesCommon/src/main/java/at.technikumwien.movies/Genre.java new file mode 100644 index 0000000..729e06c --- /dev/null +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/Genre.java @@ -0,0 +1,12 @@ +package at.technikumwien.movies; + +public enum Genre { + ACTION, + ANIMATION, + COMEDY, + DRAMA, + HORROR, + SCIENCE_FICTION, + THRILLER, + WESTERN +} diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/Movies.java b/MoviesCommon/src/main/java/at.technikumwien.movies/Movies.java new file mode 100644 index 0000000..113dbd9 --- /dev/null +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/Movies.java @@ -0,0 +1,73 @@ +package at.technikumwien.movies; + +import lombok.*; + +import javax.persistence.*; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlRootElement; +import java.util.Calendar; +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor + +@Entity +@Table(name = "t_movies") +@NamedQueries({ + @NamedQuery( + name = "Movies.selectAll", + query = "SELECT n FROM Movies n" + ), + @NamedQuery( + name = "Movies.selectByTitle", + query = "SELECT n FROM Movies n WHERE n.title LIKE :title" + ) +}) +@XmlRootElement +public class Movies { + // TODO: XmlAttributes may need different names + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @XmlAttribute + private Long id; + + @Column(length = 100, nullable = false) + @XmlAttribute + private String title; + + @XmlAttribute + private String description; + + @Column(nullable = false) + @XmlAttribute + private Genre genre; + + @Column(nullable = false) + @XmlAttribute + private int length; + + @Column(nullable = false) + @XmlAttribute + private int releaseyear; + + @ManyToMany(fetch = FetchType.EAGER) + @JoinTable( + name = "t_movies_actors", + joinColumns = @JoinColumn(name = "fk_movies_id"), + inverseJoinColumns = @JoinColumn(name = "fk_actors_id")) + private List actors; + + @ManyToOne(fetch = FetchType.EAGER) + @JoinColumn(name = "fk_studios_id") + private Studios studio; + + public Movies(String title, String description, Genre genre, int length, int releaseyear) { + this.title = title; + this.description = description; + this.genre = genre; + this.length = length; + this.releaseyear = releaseyear; + } +} \ No newline at end of file diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/Sex.java b/MoviesCommon/src/main/java/at.technikumwien.movies/Sex.java new file mode 100644 index 0000000..f82047a --- /dev/null +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/Sex.java @@ -0,0 +1,7 @@ +package at.technikumwien.movies; + +public enum Sex { + FEMALE, + MALE, + DIVERSE +} diff --git a/MoviesCommon/src/main/java/at.technikumwien.movies/Studios.java b/MoviesCommon/src/main/java/at.technikumwien.movies/Studios.java new file mode 100644 index 0000000..903324b --- /dev/null +++ b/MoviesCommon/src/main/java/at.technikumwien.movies/Studios.java @@ -0,0 +1,31 @@ +package at.technikumwien.movies; + +import lombok.*; + +import javax.persistence.*; + +@Data +@NoArgsConstructor +@AllArgsConstructor + +@Entity +@Table(name = "t_studios") +public class Studios { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(length = 100, nullable = false) + private String name; + + private String countrycode; + private String postcode; + + public Studios(String name, String countrycode, String postcode) { + this(null, name, countrycode, postcode); + } + + //TODO consider using + //@ManyToMany(mappedBy = 'at.technikumwien.movies.Studios') + //private List movies +} diff --git a/MoviesWebApp/.idea/.gitignore b/MoviesWebApp/.idea/.gitignore new file mode 100644 index 0000000..5c98b42 --- /dev/null +++ b/MoviesWebApp/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml \ No newline at end of file diff --git a/MoviesWebApp/.idea/SKS-Java.iml b/MoviesWebApp/.idea/SKS-Java.iml new file mode 100644 index 0000000..04fe296 --- /dev/null +++ b/MoviesWebApp/.idea/SKS-Java.iml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/artifacts/SKS_Java_war.xml b/MoviesWebApp/.idea/artifacts/SKS_Java_war.xml new file mode 100644 index 0000000..0f24ba0 --- /dev/null +++ b/MoviesWebApp/.idea/artifacts/SKS_Java_war.xml @@ -0,0 +1,14 @@ + + + $PROJECT_DIR$/target + + + SKS-Java + war + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/artifacts/SKS_Java_war_exploded.xml b/MoviesWebApp/.idea/artifacts/SKS_Java_war_exploded.xml new file mode 100644 index 0000000..eb204dd --- /dev/null +++ b/MoviesWebApp/.idea/artifacts/SKS_Java_war_exploded.xml @@ -0,0 +1,23 @@ + + + $PROJECT_DIR$/target/movieservice + + + true + SKS-Java + war + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/compiler.xml b/MoviesWebApp/.idea/compiler.xml new file mode 100644 index 0000000..e276922 --- /dev/null +++ b/MoviesWebApp/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/encodings.xml b/MoviesWebApp/.idea/encodings.xml new file mode 100644 index 0000000..b26911b --- /dev/null +++ b/MoviesWebApp/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_1_0.xml b/MoviesWebApp/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_1_0.xml new file mode 100644 index 0000000..9f0cbc4 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_8.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_8.xml new file mode 100644 index 0000000..bea8d79 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_bind_jaxb_jxc_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_bind_jaxb_jxc_2_3_2.xml new file mode 100644 index 0000000..b11b3d7 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_bind_jaxb_jxc_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_bind_jaxb_xjc_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_bind_jaxb_xjc_2_3_2.xml new file mode 100644 index 0000000..b473ba9 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_bind_jaxb_xjc_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_fastinfoset_FastInfoset_1_2_16.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_fastinfoset_FastInfoset_1_2_16.xml new file mode 100644 index 0000000..aa1516a --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_fastinfoset_FastInfoset_1_2_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_messaging_saaj_saaj_impl_1_5_1.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_messaging_saaj_saaj_impl_1_5_1.xml new file mode 100644 index 0000000..7f362c1 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_messaging_saaj_saaj_impl_1_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_stream_buffer_streambuffer_1_5_7.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_stream_buffer_streambuffer_1_5_7.xml new file mode 100644 index 0000000..eb69aa6 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_stream_buffer_streambuffer_1_5_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_jaxws_eclipselink_plugin_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_jaxws_eclipselink_plugin_2_3_2.xml new file mode 100644 index 0000000..c3fd656 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_jaxws_eclipselink_plugin_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_jaxws_rt_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_jaxws_rt_2_3_2.xml new file mode 100644 index 0000000..4fdf126 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_jaxws_rt_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_jaxws_tools_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_jaxws_tools_2_3_2.xml new file mode 100644 index 0000000..8388f9c --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_jaxws_tools_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_policy_2_7_6.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_policy_2_7_6.xml new file mode 100644 index 0000000..8a5a718 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_policy_2_7_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_sdo_eclipselink_plugin_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_sdo_eclipselink_plugin_2_3_2.xml new file mode 100644 index 0000000..28fc2ce --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__com_sun_xml_ws_sdo_eclipselink_plugin_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_1.xml b/MoviesWebApp/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_1.xml new file mode 100644 index 0000000..a96bbdc --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_4.xml b/MoviesWebApp/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_4.xml new file mode 100644 index 0000000..298bac9 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__jakarta_jws_jakarta_jws_api_1_1_1.xml b/MoviesWebApp/.idea/libraries/Maven__jakarta_jws_jakarta_jws_api_1_1_1.xml new file mode 100644 index 0000000..f3839a8 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__jakarta_jws_jakarta_jws_api_1_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__jakarta_mail_jakarta_mail_api_1_6_3.xml b/MoviesWebApp/.idea/libraries/Maven__jakarta_mail_jakarta_mail_api_1_6_3.xml new file mode 100644 index 0000000..b6fdb67 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__jakarta_mail_jakarta_mail_api_1_6_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_2.xml b/MoviesWebApp/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_2.xml new file mode 100644 index 0000000..95d5868 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_2.xml new file mode 100644 index 0000000..bdf217a --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__jakarta_xml_soap_jakarta_xml_soap_api_1_4_1.xml b/MoviesWebApp/.idea/libraries/Maven__jakarta_xml_soap_jakarta_xml_soap_api_1_4_1.xml new file mode 100644 index 0000000..61f6bbd --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__jakarta_xml_soap_jakarta_xml_soap_api_1_4_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__jakarta_xml_ws_jakarta_xml_ws_api_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__jakarta_xml_ws_jakarta_xml_ws_api_2_3_2.xml new file mode 100644 index 0000000..8535a6a --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__jakarta_xml_ws_jakarta_xml_ws_api_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__javax_javaee_web_api_8_0_1.xml b/MoviesWebApp/.idea/libraries/Maven__javax_javaee_web_api_8_0_1.xml new file mode 100644 index 0000000..8182bf4 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__javax_javaee_web_api_8_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__junit_junit_4_11.xml b/MoviesWebApp/.idea/libraries/Maven__junit_junit_4_11.xml new file mode 100644 index 0000000..f33320d --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__junit_junit_4_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_1.xml new file mode 100644 index 0000000..e966836 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_commonj_sdo_2_1_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_commonj_sdo_2_1_1.xml new file mode 100644 index 0000000..2a74516 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_commonj_sdo_2_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_asm_2_7_4.xml b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_asm_2_7_4.xml new file mode 100644 index 0000000..09333f2 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_asm_2_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_core_2_7_4.xml b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_core_2_7_4.xml new file mode 100644 index 0000000..ae788b6 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_core_2_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_moxy_2_7_4.xml b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_moxy_2_7_4.xml new file mode 100644 index 0000000..4deef98 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_moxy_2_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_sdo_2_7_4.xml b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_sdo_2_7_4.xml new file mode 100644 index 0000000..ad31607 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_sdo_2_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_external_management_api_3_2_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_external_management_api_3_2_1.xml new file mode 100644 index 0000000..a1e00c8 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_external_management_api_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_gmbal_gmbal_4_0_0.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_gmbal_gmbal_4_0_0.xml new file mode 100644 index 0000000..b262ed3 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_gmbal_gmbal_4_0_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_ha_ha_api_3_1_12.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_ha_ha_api_3_1_12.xml new file mode 100644 index 0000000..0eab88f --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_ha_ha_api_3_1_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_2.xml new file mode 100644 index 0000000..dd04029 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_2.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_2.xml new file mode 100644 index 0000000..a0481f2 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_asm_4_0_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_asm_4_0_1.xml new file mode 100644 index 0000000..bac2bce --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_asm_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_basic_4_0_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_basic_4_0_1.xml new file mode 100644 index 0000000..676856f --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_basic_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_basic_tools_4_0_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_basic_tools_4_0_1.xml new file mode 100644 index 0000000..d0c03a4 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_basic_tools_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_dynamic_4_0_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_dynamic_4_0_1.xml new file mode 100644 index 0000000..2509535 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_dynamic_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_tf_4_0_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_tf_4_0_1.xml new file mode 100644 index 0000000..8d7cd05 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_tf_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_tf_tools_4_0_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_tf_tools_4_0_1.xml new file mode 100644 index 0000000..92004da --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_glassfish_pfl_pfl_tf_tools_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/MoviesWebApp/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..f58bbc1 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_jvnet_mimepull_mimepull_1_9_11.xml b/MoviesWebApp/.idea/libraries/Maven__org_jvnet_mimepull_mimepull_1_9_11.xml new file mode 100644 index 0000000..401d3db --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_jvnet_mimepull_mimepull_1_9_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_jvnet_staxex_stax_ex_1_8_1.xml b/MoviesWebApp/.idea/libraries/Maven__org_jvnet_staxex_stax_ex_1_8_1.xml new file mode 100644 index 0000000..38f7e12 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_jvnet_staxex_stax_ex_1_8_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/libraries/Maven__org_projectlombok_lombok_1_18_10.xml b/MoviesWebApp/.idea/libraries/Maven__org_projectlombok_lombok_1_18_10.xml new file mode 100644 index 0000000..0ce7ba6 --- /dev/null +++ b/MoviesWebApp/.idea/libraries/Maven__org_projectlombok_lombok_1_18_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/misc.xml b/MoviesWebApp/.idea/misc.xml new file mode 100644 index 0000000..b485140 --- /dev/null +++ b/MoviesWebApp/.idea/misc.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/modules.xml b/MoviesWebApp/.idea/modules.xml new file mode 100644 index 0000000..fc80d07 --- /dev/null +++ b/MoviesWebApp/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/uiDesigner.xml b/MoviesWebApp/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/MoviesWebApp/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/.idea/vcs.xml b/MoviesWebApp/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/MoviesWebApp/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/MoviesWebApp.iml b/MoviesWebApp/MoviesWebApp.iml new file mode 100644 index 0000000..0acad9d --- /dev/null +++ b/MoviesWebApp/MoviesWebApp.iml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MoviesWebApp/MoviesWebAppNew.iml b/MoviesWebApp/MoviesWebAppNew.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/MoviesWebApp/MoviesWebAppNew.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/MoviesWebApp/pom.xml b/MoviesWebApp/pom.xml new file mode 100644 index 0000000..dcb498c --- /dev/null +++ b/MoviesWebApp/pom.xml @@ -0,0 +1,96 @@ + + + + 4.0.0 + + + at.technikumwien + MoviesApp + 1.0.0-SNAPSHOT + + + MoviesWebApp + 1.0.0-SNAPSHOT + war + + MovieServiceWebApp + + http://www.example.com + + + + + javax + javaee-web-api + provided + + + + junit + junit + 4.11 + test + + + + com.sun.xml.ws + jaxws-ri + pom + provided + + + + at.technikumwien + MoviesCommon + 1.0.0-SNAPSHOT + + + + + movieservice + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-war-plugin + 3.2.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 9 + 9 + + + + + diff --git a/MoviesWebApp/scripts/configure-wildfly.cli b/MoviesWebApp/scripts/configure-wildfly.cli new file mode 100755 index 0000000..fcd91ba --- /dev/null +++ b/MoviesWebApp/scripts/configure-wildfly.cli @@ -0,0 +1,36 @@ +embed-server -c=standalone.xml + +if (outcome != success) of /core-service=module-loading:list-resource-loader-paths(module=com.mysql) + module add \ + --name=com.mysql \ + --resources=mysql-connector-java-8.0.17.jar \ + --dependencies=javax.api,javax.transaction.api +end-if + +if (outcome != success) of /subsystem=datasources/jdbc-driver=mysql:read-resource() + /subsystem=datasources/jdbc-driver=mysql:add( \ + driver-name=mysql, \ + driver-module-name=com.mysql, \ + driver-class-name=com.mysql.cj.jdbc.Driver, \ + driver-xa-datasource-class-name=com.mysql.cj.jdbc.MysqlXADataSource \ + ) +end-if + +if (outcome == success) of /subsystem=datasources/data-source=MoviesDS:read-resource() + data-source remove --name=MoviesDS +end-if + +data-source add \ + --name=MoviesDS \ + --jndi-name=java:jboss/datasources/MoviesDS \ + --driver-name=mysql \ + --connection-url=jdbc:mysql://localhost:3306/db_movies?serverTimezone=Europe/Vienna \ + --user-name=root \ + --password=root \ + --min-pool-size=5 \ + --max-pool-size=5 \ + --pool-prefill=true + +stop-embedded-server + +exit diff --git a/MoviesWebApp/src/main/java/at/technikumwien/movies/ImportException.java b/MoviesWebApp/src/main/java/at/technikumwien/movies/ImportException.java new file mode 100644 index 0000000..7cc7c91 --- /dev/null +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/ImportException.java @@ -0,0 +1,8 @@ +package at.technikumwien.movies; + +import javax.ejb.ApplicationException; + +@ApplicationException(rollback = true) // If this exception is thrown, the database transaction is rolled back +public class ImportException extends Exception { + // TODO: Implement exception for import errors (e.g. some ID doesn't exist) +} diff --git a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesManaged.java b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesManaged.java new file mode 100644 index 0000000..16b284c --- /dev/null +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesManaged.java @@ -0,0 +1,17 @@ +package at.technikumwien.movies; + +import javax.enterprise.context.RequestScoped; +import javax.inject.Inject; +import javax.inject.Named; +import java.util.List; + +@RequestScoped +@Named("reqMovies") +public class MoviesManaged { + @Inject + private MoviesService moviesService; + + 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 new file mode 100644 index 0000000..3102d47 --- /dev/null +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesService.java @@ -0,0 +1,70 @@ +package at.technikumwien.movies; + +import javax.annotation.Resource; +import javax.ejb.*; +import javax.persistence.EntityManager; +import javax.persistence.EntityNotFoundException; +import javax.persistence.PersistenceContext; +import java.util.List; +import java.util.logging.Logger; + +@Stateless +public class MoviesService { + private static final Logger LOGGER = Logger.getLogger(MoviesService.class.getName()); + + @Resource + private SessionContext context; + + @PersistenceContext(unitName = "MoviesPU") + private EntityManager em; + + public Movies findById(long id) { + LOGGER.info("findById() >> id=" + id); + + Movies movies = em.find(Movies.class, id); + if (movies == null) { + throw new EntityNotFoundException("can't find movie with id=" + id); + } + + return movies; + } + + public List findByTitle(String title) { + LOGGER.info("findByTitle() >> title=" + title); + + return em.createNamedQuery("Movies.selectByTitle", Movies.class) + .setParameter("title", "%" + title + "%") + .getResultList(); + } + + public List findAll() { + LOGGER.info("findAll()"); + + return em.createNamedQuery("Movies.selectAll", Movies.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 + } + + public void save(Movies movies) { + // TODO: Search for actors, studio based on fields we get + // If exists -> Replace by found ID + // Else -> Error! + LOGGER.info("save() >> movies" + movies); + + if (movies.getId() == null) { + em.persist(movies); + } else { + findById(movies.getId()); //checks if movies exists + em.merge(movies); + } + + // TODO: On error: context.setRollbackOnly(); + // or: throw new EJBException("Can't save ...") + } +} \ No newline at end of file diff --git a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesServlet.java b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesServlet.java new file mode 100644 index 0000000..3b4ac13 --- /dev/null +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesServlet.java @@ -0,0 +1,36 @@ +package at.technikumwien.movies; + +import javax.inject.Inject; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; + +@WebServlet(urlPatterns = "movieserviceservlet") +public class MoviesServlet extends HttpServlet { + @Inject + private MoviesService moviesService; + + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + + StringBuilder html = new StringBuilder("" + + "" + + "" + + "" + + "

Movies

"); + + moviesService.findAll().forEach(news -> html.append("

" + news.getTitle() + "

" + + "

" + news.getTitle() + "

")); + + html.append("" + + ""); + + out.write(html.toString()); + } +} \ No newline at end of file diff --git a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebService.java b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebService.java new file mode 100644 index 0000000..5f64319 --- /dev/null +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebService.java @@ -0,0 +1,17 @@ +package at.technikumwien.movies; + +import javax.jws.WebMethod; +import javax.jws.WebService; +import java.util.List; + +@WebService +public interface MoviesWebService { + @WebMethod + List getAllMovies(); + + @WebMethod + List getMoviesByTitle(String title); + + @WebMethod + void importMovies(List movies); +} diff --git a/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebServiceImpl.java b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebServiceImpl.java new file mode 100644 index 0000000..f2cc611 --- /dev/null +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/MoviesWebServiceImpl.java @@ -0,0 +1,35 @@ +package at.technikumwien.movies; + +import javax.inject.Inject; +import javax.jws.WebService; +import java.util.List; + +// http://localhost:8080/movieservice/MoviesWebService?wsdl + +@WebService( + endpointInterface = "at.technikumwien.movies.MoviesWebService", + serviceName = "MoviesWebService", + portName = "MoviesWebServicePort" +) +public class MoviesWebServiceImpl implements MoviesWebService { + + @Inject + private MoviesService moviesService; + + @Override + public List getAllMovies() { + return moviesService.findAll(); + } + + @Override + public List getMoviesByTitle(String title) { + return moviesService.findByTitle(title); + } + + @Override + public void importMovies(List movies) { + for (Movies movie : movies) { + moviesService.save(movie); + } + } +} diff --git a/MoviesWebApp/src/main/java/at/technikumwien/movies/package-info.java b/MoviesWebApp/src/main/java/at/technikumwien/movies/package-info.java new file mode 100644 index 0000000..6cba489 --- /dev/null +++ b/MoviesWebApp/src/main/java/at/technikumwien/movies/package-info.java @@ -0,0 +1,7 @@ +@XmlAccessorType(XmlAccessType.FIELD) + +package at.technikumwien.movies; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; diff --git a/MoviesWebApp/src/main/resources/META-INF/persistence.xml b/MoviesWebApp/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..ce6f5e3 --- /dev/null +++ b/MoviesWebApp/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,16 @@ + + + + java:jboss/datasources/MoviesDS + lib/NewsCommon-1.0.0-SNAPSHOT.jar + false + + + + + + + diff --git a/MoviesWebApp/src/main/webapp/WEB-INF/beans.xml b/MoviesWebApp/src/main/webapp/WEB-INF/beans.xml new file mode 100644 index 0000000..e69de29 diff --git a/MoviesWebApp/src/main/webapp/WEB-INF/web.xml b/MoviesWebApp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..e764259 --- /dev/null +++ b/MoviesWebApp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,20 @@ + + + + movieserviceservlet + + + + Faces Servlet + javax.faces.webapp.FacesServlet + 1 + + + + Faces Servlet + *.xhtml + + diff --git a/MoviesWebApp/src/main/webapp/index.xhtml b/MoviesWebApp/src/main/webapp/index.xhtml new file mode 100644 index 0000000..6419990 --- /dev/null +++ b/MoviesWebApp/src/main/webapp/index.xhtml @@ -0,0 +1,16 @@ + + + + + at.technikumwien.movies.Movies + + +

at.technikumwien.movies.Movies

+ + +

+
+ + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..21e58af --- /dev/null +++ b/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + at.technikumwien + MoviesApp + 1.0.0-SNAPSHOT + pom + + MovieService + + http://www.example.com + + + UTF-8 + 11 + 11 + + + + + + + javax + javaee-web-api + 8.0.1 + + + com.sun.xml.ws + jaxws-ri + 2.3.2 + pom + + + + + + + MoviesCommon + MoviesWebApp + MoviesClient + +