Implemented all or none principle for the save method

This commit is contained in:
Barbara 2019-11-28 19:43:07 +01:00
parent 7c0cb4150d
commit 5cbece42bb
3 changed files with 57 additions and 51 deletions

4
.idea/encodings.xml generated
View File

@ -3,7 +3,11 @@
<component name="Encoding">
<file url="file://$PROJECT_DIR$" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesClient" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesClient/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesCommon" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesCommon/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesWebApp" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesWebApp/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/MoviesWebApp/src/main/resources" charset="UTF-8" />
</component>
</project>

View File

@ -68,7 +68,9 @@ public class MoviesService {
// TODO maybe check if the movie already exists?
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public void save(Movies movie) {
public void save(List<Movies> movies) {
for (Movies movie : movies) {
// TODO maybe get just the id and improve checking in for loop?
// Get all actors and studios from the database
@ -119,13 +121,15 @@ public class MoviesService {
return;
}
}
LOGGER.info("save() >> movies" + movie);
em.merge(movie);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
LOGGER.info("save() >> movies" + movies);
for (Movies movie : movies) {
em.merge(movie);
}
}
}

View File

@ -28,8 +28,6 @@ public class MoviesWebServiceImpl implements MoviesWebService {
@Override
public void importMovies(List<Movies> movies) {
for (Movies movie : movies) {
moviesService.save(movie);
}
moviesService.save(movies);
}
}