11package org .woehlke .twitterwall .oodm .repositories .custom .impl ;
22
33import org .springframework .beans .factory .annotation .Autowired ;
4+ import org .springframework .jdbc .core .JdbcTemplate ;
45import org .springframework .stereotype .Repository ;
56import org .woehlke .twitterwall .oodm .entities .Task ;
67import org .woehlke .twitterwall .oodm .repositories .custom .TaskRepositoryCustom ;
78
89import javax .persistence .EntityManager ;
910import javax .persistence .TypedQuery ;
11+ import javax .sql .DataSource ;
1012import java .util .List ;
1113
1214@ Repository
1315public class TaskRepositoryImpl implements TaskRepositoryCustom {
1416
1517 private final EntityManager entityManager ;
1618
19+ private JdbcTemplate jdbcTemplate ;
20+
1721 @ Autowired
18- public TaskRepositoryImpl (EntityManager entityManager ) {
22+ public TaskRepositoryImpl (EntityManager entityManager , DataSource dataSource ) {
1923 this .entityManager = entityManager ;
24+ this .jdbcTemplate = new JdbcTemplate (dataSource );
2025 }
2126
2227 @ Override
@@ -32,4 +37,35 @@ public Task findByUniqueId(Task domainObject) {
3237 return null ;
3338 }
3439 }
40+
41+ @ Override
42+ public void deleteAllDomainData () {
43+
44+ String SQL_DELETE_ALL_ROWS [] = {
45+ "delete from userprofile_url" ,
46+ "delete from userprofile_mention" ,
47+ "delete from userprofile_hashtag" ,
48+ "delete from userprofile_media" ,
49+ "delete from userprofile_tickersymbol" ,
50+ "delete from tweet_tickersymbol" ,
51+ "delete from tweet_mention" ,
52+ "delete from tweet_media" ,
53+ "delete from tweet_hashtag" ,
54+ "delete from tweet_url" ,
55+ "delete from url_cache" ,
56+ "delete from url" ,
57+ "delete from tickersymbol" ,
58+ "delete from mention" ,
59+ "delete from media" ,
60+ "delete from hashtag" ,
61+ "delete from tweet" ,
62+ "delete from userprofile" ,
63+ "delete from task_history" ,
64+ "delete from task"
65+ };
66+
67+ for (String SQL : SQL_DELETE_ALL_ROWS ){
68+ jdbcTemplate .execute (SQL );
69+ }
70+ }
3571}
0 commit comments