1 package org.apache.continuum.dao;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.continuum.model.repository.DistributedDirectoryPurgeConfiguration;
23 import org.apache.maven.continuum.store.ContinuumStoreException;
24 import org.springframework.stereotype.Repository;
25
26 import java.util.Collections;
27 import java.util.List;
28 import javax.jdo.Extent;
29 import javax.jdo.PersistenceManager;
30 import javax.jdo.Query;
31 import javax.jdo.Transaction;
32
33
34
35
36
37
38 @Repository( "distributedDirectoryPurgeConfigurationDao" )
39 public class DistributedDirectoryPurgeConfigurationDaoImpl
40 extends AbstractDao
41 implements DistributedDirectoryPurgeConfigurationDao
42 {
43 public List<DistributedDirectoryPurgeConfiguration> getAllDistributedDirectoryPurgeConfigurations()
44 {
45 return getAllObjectsDetached( DistributedDirectoryPurgeConfiguration.class );
46 }
47
48 public List<DistributedDirectoryPurgeConfiguration> getDistributedDirectoryPurgeConfigurationsBySchedule(
49 int scheduleId )
50 {
51 PersistenceManager pm = getPersistenceManager();
52
53 Transaction tx = pm.currentTransaction();
54
55 try
56 {
57 tx.begin();
58
59 Extent extent = pm.getExtent( DistributedDirectoryPurgeConfiguration.class, true );
60
61 Query query = pm.newQuery( extent );
62
63 query.declareParameters( "int scheduleId" );
64
65 query.setFilter( "this.schedule.id == scheduleId" );
66
67 List result = (List) query.execute( scheduleId );
68
69 return result == null ? Collections.EMPTY_LIST : (List) pm.detachCopyAll( result );
70 }
71 finally
72 {
73 tx.commit();
74
75 rollback( tx );
76 }
77 }
78
79 public List<DistributedDirectoryPurgeConfiguration> getEnableDistributedDirectoryPurgeConfigurationsBySchedule(
80 int scheduleId )
81 {
82 PersistenceManager pm = getPersistenceManager();
83
84 Transaction tx = pm.currentTransaction();
85
86 try
87 {
88 tx.begin();
89
90 Extent extent = pm.getExtent( DistributedDirectoryPurgeConfiguration.class, true );
91
92 Query query = pm.newQuery( extent );
93
94 query.declareParameters( "int scheduleId" );
95
96 query.setFilter( "this.schedule.id == scheduleId && this.enabled == true" );
97
98 List result = (List) query.execute( scheduleId );
99
100 return result == null ? Collections.EMPTY_LIST : (List) pm.detachCopyAll( result );
101 }
102 finally
103 {
104 tx.commit();
105
106 rollback( tx );
107 }
108 }
109
110 public List<DistributedDirectoryPurgeConfiguration> getDistributedDirectoryPurgeConfigurationsByType( String type )
111 {
112 PersistenceManager pm = getPersistenceManager();
113
114 Transaction tx = pm.currentTransaction();
115
116 try
117 {
118 tx.begin();
119
120 Extent extent = pm.getExtent( DistributedDirectoryPurgeConfiguration.class, true );
121
122 Query query = pm.newQuery( extent );
123
124 query.declareImports( "import java.lang.String" );
125
126 query.declareParameters( "String type" );
127
128 query.setFilter( "this.directoryType == type" );
129
130 List result = (List) query.execute( type );
131
132 return result == null ? Collections.EMPTY_LIST : (List) pm.detachCopyAll( result );
133 }
134 finally
135 {
136 tx.commit();
137
138 rollback( tx );
139 }
140 }
141
142 public DistributedDirectoryPurgeConfiguration getDistributedDirectoryPurgeConfiguration( int configurationId )
143 throws ContinuumStoreException
144 {
145 return (DistributedDirectoryPurgeConfiguration) getObjectById( DistributedDirectoryPurgeConfiguration.class,
146 configurationId );
147 }
148
149 public DistributedDirectoryPurgeConfiguration addDistributedDirectoryPurgeConfiguration(
150 DistributedDirectoryPurgeConfiguration purgeConfiguration )
151 throws ContinuumStoreException
152 {
153 return (DistributedDirectoryPurgeConfiguration) addObject( purgeConfiguration );
154 }
155
156 public void updateDistributedDirectoryPurgeConfiguration(
157 DistributedDirectoryPurgeConfiguration purgeConfiguration )
158 throws ContinuumStoreException
159 {
160 updateObject( purgeConfiguration );
161 }
162
163 public void removeDistributedDirectoryPurgeConfiguration(
164 DistributedDirectoryPurgeConfiguration purgeConfiguration )
165 throws ContinuumStoreException
166 {
167 removeObject( purgeConfiguration );
168 }
169 }