1 package fr.ifremer.quadrige2.synchro.intercept.administration;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import com.google.common.base.Joiner;
27 import com.google.common.eventbus.Subscribe;
28 import fr.ifremer.common.synchro.dao.SynchroTableDao;
29 import fr.ifremer.common.synchro.intercept.SynchroInterceptorBase;
30 import fr.ifremer.common.synchro.intercept.SynchroOperationRepository;
31 import fr.ifremer.common.synchro.meta.SynchroTableMetadata;
32 import fr.ifremer.common.synchro.meta.event.CreateQueryEvent;
33 import fr.ifremer.common.synchro.query.SynchroQueryBuilder;
34 import fr.ifremer.common.synchro.query.SynchroQueryName;
35 import fr.ifremer.common.synchro.query.SynchroQueryOperator;
36 import fr.ifremer.quadrige2.synchro.intercept.referential.AbstractReferentialInterceptor;
37 import fr.ifremer.quadrige2.synchro.meta.DatabaseColumns;
38 import fr.ifremer.quadrige2.synchro.meta.administration.ProgramStrategySynchroTables;
39 import fr.ifremer.quadrige2.synchro.service.referential.ReferentialSynchroDatabaseConfiguration;
40 import org.apache.commons.collections4.CollectionUtils;
41
42 import java.sql.SQLException;
43 import java.util.List;
44 import java.util.Set;
45
46
47
48
49
50
51
52
53
54
55 public class StrategyInterceptor extends AbstractProgramStrategyInterceptor {
56
57
58
59
60
61
62 public StrategyInterceptor() {
63 super(ProgramStrategySynchroTables.STRATEGY.name());
64 setEnableOnWrite(true);
65 }
66
67
68 @Override
69 protected void doOnDelete(List<Object> pk, SynchroTableDao sourceDao, SynchroTableDao targetDao, SynchroOperationRepository buffer)
70 throws SQLException {
71
72 Integer stratId = Integer.parseInt(pk.get(0).toString());
73
74
75 buffer.addChildToDeleteFromOneColumn(ProgramStrategySynchroTables.APPLIED_STRATEGY.name(), DatabaseColumns.STRAT_ID.name(), stratId);
76 buffer.addChildToDeleteFromOneColumn(ProgramStrategySynchroTables.PMFM_STRATEGY.name(), DatabaseColumns.STRAT_ID.name(), stratId);
77 }
78 }