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
+
+