svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.app / org.gvsig.app.mainplugin / src / main / java / org / gvsig / app / extension / updatetable / UpdateTableProcessParametersImpl.java @ 47784
History | View | Annotate | Download (6.79 KB)
1 | 46448 | jjdelcerro | /*
|
---|---|---|---|
2 | * To change this license header, choose License Headers in Project Properties.
|
||
3 | * To change this template file, choose Tools | Templates
|
||
4 | * and open the template in the editor.
|
||
5 | */
|
||
6 | 46475 | jjdelcerro | package org.gvsig.app.extension.updatetable; |
7 | 46448 | jjdelcerro | |
8 | import java.util.Iterator; |
||
9 | 46475 | jjdelcerro | import java.util.LinkedHashMap; |
10 | import java.util.Map; |
||
11 | 46575 | jjdelcerro | import org.gvsig.app.extension.updatetable.UpdateTableProcessParametersImpl.ProcessFieldParametersImpl; |
12 | 46448 | jjdelcerro | import org.gvsig.expressionevaluator.Expression; |
13 | import org.gvsig.fmap.dal.feature.FeatureStore; |
||
14 | import org.gvsig.tools.dispose.DisposeUtils; |
||
15 | import org.gvsig.tools.dispose.impl.AbstractDisposable; |
||
16 | import org.gvsig.tools.exception.BaseException; |
||
17 | |||
18 | /**
|
||
19 | *
|
||
20 | * @author jjdelcerro
|
||
21 | */
|
||
22 | 46575 | jjdelcerro | public class UpdateTableProcessParametersImpl extends AbstractDisposable implements UpdateTableProcessParameters{ |
23 | 47674 | jjdelcerro | |
24 | // FIXME: Deberiamos implementar esto como persistente. Ojo con el store, deberiamos guardar tambien el storeid del repositorio.
|
||
25 | |||
26 | 46448 | jjdelcerro | |
27 | 46575 | jjdelcerro | public static class ProcessFieldParametersImpl implements ProcessFieldParameters { |
28 | 46448 | jjdelcerro | |
29 | private final String name; |
||
30 | private final boolean update; |
||
31 | private final Expression expression; |
||
32 | |||
33 | 46575 | jjdelcerro | public ProcessFieldParametersImpl(String name, boolean update, Expression expression) { |
34 | 46448 | jjdelcerro | this.name = name;
|
35 | this.update = update;
|
||
36 | this.expression = expression;
|
||
37 | } |
||
38 | |||
39 | /**
|
||
40 | * @return the name
|
||
41 | */
|
||
42 | 46615 | jjdelcerro | @Override
|
43 | 46448 | jjdelcerro | public String getName() { |
44 | return name;
|
||
45 | } |
||
46 | |||
47 | /**
|
||
48 | * @return the update
|
||
49 | */
|
||
50 | 46615 | jjdelcerro | @Override
|
51 | 46448 | jjdelcerro | public boolean isUpdate() { |
52 | return update;
|
||
53 | } |
||
54 | |||
55 | /**
|
||
56 | * @return the expression
|
||
57 | */
|
||
58 | 46615 | jjdelcerro | @Override
|
59 | 46448 | jjdelcerro | public Expression getExpression() { |
60 | return expression;
|
||
61 | } |
||
62 | |||
63 | |||
64 | } |
||
65 | |||
66 | |||
67 | 46503 | fdiaz | private int rowsToProcess; //selection, edited or all |
68 | 46448 | jjdelcerro | private Expression filter; |
69 | 46475 | jjdelcerro | private final Map<String,ProcessFieldParameters> fields; |
70 | 46448 | jjdelcerro | private FeatureStore store;
|
71 | 46475 | jjdelcerro | private int editMode; |
72 | private int finishAndRestarEditEach; |
||
73 | private boolean finishAndRestarEdit; |
||
74 | private boolean beginEditIfNeed; |
||
75 | private boolean finishEditAfterTerminate; |
||
76 | private boolean notifyUserIfNeedBeginEditing; |
||
77 | 46448 | jjdelcerro | |
78 | |||
79 | 46475 | jjdelcerro | public UpdateTableProcessParametersImpl() {
|
80 | 46448 | jjdelcerro | super();
|
81 | 46475 | jjdelcerro | this.fields = new LinkedHashMap<>(); |
82 | 46448 | jjdelcerro | this.rowsToProcess = BATCHUPDATE_PROCESS_ALL;
|
83 | this.filter = null; |
||
84 | this.store = null; |
||
85 | } |
||
86 | |||
87 | @Override
|
||
88 | protected void doDispose() throws BaseException { |
||
89 | DisposeUtils.dispose(store); |
||
90 | this.store = null; |
||
91 | this.fields.clear();
|
||
92 | this.filter = null; |
||
93 | this.rowsToProcess = BATCHUPDATE_PROCESS_ALL;
|
||
94 | } |
||
95 | |||
96 | 46575 | jjdelcerro | @Override
|
97 | 46615 | jjdelcerro | public UpdateTableProcessParameters add(String name, boolean update, Expression expression) { |
98 | 46575 | jjdelcerro | ProcessFieldParametersImpl x = new ProcessFieldParametersImpl(name, update, expression);
|
99 | 46475 | jjdelcerro | this.fields.put(name,x);
|
100 | 46615 | jjdelcerro | return this; |
101 | 46448 | jjdelcerro | } |
102 | |||
103 | 46575 | jjdelcerro | @Override
|
104 | 46475 | jjdelcerro | public ProcessFieldParameters get(String name) { |
105 | return this.fields.get(name); |
||
106 | } |
||
107 | |||
108 | 46448 | jjdelcerro | @Override
|
109 | public Iterator<ProcessFieldParameters> iterator() { |
||
110 | 46475 | jjdelcerro | return this.fields.values().iterator(); |
111 | 46448 | jjdelcerro | } |
112 | |||
113 | 46575 | jjdelcerro | @Override
|
114 | 46615 | jjdelcerro | public UpdateTableProcessParameters setStore(FeatureStore store) {
|
115 | 46448 | jjdelcerro | DisposeUtils.dispose(this.store);
|
116 | this.store = store;
|
||
117 | DisposeUtils.bind(this.store);
|
||
118 | 46615 | jjdelcerro | return this; |
119 | 46448 | jjdelcerro | } |
120 | |||
121 | 46575 | jjdelcerro | @Override
|
122 | 46448 | jjdelcerro | public FeatureStore getStore() {
|
123 | return store;
|
||
124 | } |
||
125 | |||
126 | /**
|
||
127 | * @return the rowsToProcess
|
||
128 | */
|
||
129 | 46575 | jjdelcerro | @Override
|
130 | 46448 | jjdelcerro | public int getRowsToProcess() { |
131 | return rowsToProcess;
|
||
132 | } |
||
133 | |||
134 | /**
|
||
135 | * @param rowsToProcess the rowsToProcess to set
|
||
136 | 46615 | jjdelcerro | * @return
|
137 | 46448 | jjdelcerro | */
|
138 | 46575 | jjdelcerro | @Override
|
139 | 46615 | jjdelcerro | public UpdateTableProcessParameters setRowsToProcess(int rowsToProcess) { |
140 | 46448 | jjdelcerro | this.rowsToProcess = rowsToProcess;
|
141 | 46615 | jjdelcerro | return this; |
142 | 46448 | jjdelcerro | } |
143 | |||
144 | /**
|
||
145 | * @return the filter
|
||
146 | */
|
||
147 | 46575 | jjdelcerro | @Override
|
148 | 46448 | jjdelcerro | public Expression getFilter() { |
149 | return filter;
|
||
150 | } |
||
151 | |||
152 | /**
|
||
153 | * @param filter the filter to set
|
||
154 | 46615 | jjdelcerro | * @return
|
155 | 46448 | jjdelcerro | */
|
156 | 46575 | jjdelcerro | @Override
|
157 | 46615 | jjdelcerro | public UpdateTableProcessParameters setFilter(Expression filter) { |
158 | 46448 | jjdelcerro | this.filter = filter;
|
159 | 46615 | jjdelcerro | return this; |
160 | 46448 | jjdelcerro | } |
161 | |||
162 | 46475 | jjdelcerro | /**
|
163 | * @return the editMode
|
||
164 | */
|
||
165 | 46575 | jjdelcerro | @Override
|
166 | 46475 | jjdelcerro | public int getEditMode() { |
167 | return editMode;
|
||
168 | } |
||
169 | |||
170 | /**
|
||
171 | * @param editMode the editMode to set
|
||
172 | 46615 | jjdelcerro | * @return
|
173 | 46475 | jjdelcerro | */
|
174 | 46575 | jjdelcerro | @Override
|
175 | 46615 | jjdelcerro | public UpdateTableProcessParameters setEditMode(int editMode) { |
176 | 46475 | jjdelcerro | this.editMode = editMode;
|
177 | 46615 | jjdelcerro | return this; |
178 | 46475 | jjdelcerro | } |
179 | |||
180 | /**
|
||
181 | * @return the finishAndRestarEditEach
|
||
182 | */
|
||
183 | 46575 | jjdelcerro | @Override
|
184 | 46475 | jjdelcerro | public int getFinishAndRestarEditEach() { |
185 | return finishAndRestarEditEach;
|
||
186 | } |
||
187 | |||
188 | /**
|
||
189 | * @param finishAndRestarEditEach the finishAndRestarEditEach to set
|
||
190 | 46615 | jjdelcerro | * @return
|
191 | 46475 | jjdelcerro | */
|
192 | 46575 | jjdelcerro | @Override
|
193 | 46615 | jjdelcerro | public UpdateTableProcessParameters setFinishAndRestarEditEach(int finishAndRestarEditEach) { |
194 | 46475 | jjdelcerro | this.finishAndRestarEditEach = finishAndRestarEditEach;
|
195 | 46615 | jjdelcerro | return this; |
196 | 46475 | jjdelcerro | } |
197 | |||
198 | /**
|
||
199 | * @return the beginEditIfNeed
|
||
200 | */
|
||
201 | 46575 | jjdelcerro | @Override
|
202 | 46475 | jjdelcerro | public boolean isBeginEditIfNeed() { |
203 | return beginEditIfNeed;
|
||
204 | } |
||
205 | |||
206 | /**
|
||
207 | * @param beginEditIfNeed the beginEditIfNeed to set
|
||
208 | 46615 | jjdelcerro | * @return
|
209 | 46475 | jjdelcerro | */
|
210 | 46575 | jjdelcerro | @Override
|
211 | 46615 | jjdelcerro | public UpdateTableProcessParameters setBeginEditIfNeed(boolean beginEditIfNeed) { |
212 | 46475 | jjdelcerro | this.beginEditIfNeed = beginEditIfNeed;
|
213 | 46615 | jjdelcerro | return this; |
214 | 46475 | jjdelcerro | } |
215 | |||
216 | /**
|
||
217 | * @return the finishEditAfterTerminate
|
||
218 | */
|
||
219 | 46575 | jjdelcerro | @Override
|
220 | 46475 | jjdelcerro | public boolean isFinishEditAfterTerminate() { |
221 | return finishEditAfterTerminate;
|
||
222 | } |
||
223 | |||
224 | /**
|
||
225 | * @param finishEditAfterTerminate the finishEditAfterTerminate to set
|
||
226 | */
|
||
227 | 46575 | jjdelcerro | @Override
|
228 | 46615 | jjdelcerro | public UpdateTableProcessParameters setFinishEditAfterTerminate(boolean finishEditAfterTerminate) { |
229 | 46475 | jjdelcerro | this.finishEditAfterTerminate = finishEditAfterTerminate;
|
230 | 46615 | jjdelcerro | return this; |
231 | 46475 | jjdelcerro | } |
232 | |||
233 | /**
|
||
234 | * @return the notifyUserIfNeedBeginEditing
|
||
235 | */
|
||
236 | 46575 | jjdelcerro | @Override
|
237 | 46475 | jjdelcerro | public boolean isNotifyUserIfNeedBeginEditing() { |
238 | return notifyUserIfNeedBeginEditing;
|
||
239 | } |
||
240 | |||
241 | /**
|
||
242 | * @param notifyUserIfNeedBeginEditing the notifyUserIfNeedBeginEditing to set
|
||
243 | */
|
||
244 | 46575 | jjdelcerro | @Override
|
245 | 46615 | jjdelcerro | public UpdateTableProcessParameters setNotifyUserIfNeedBeginEditing(boolean notifyUserIfNeedBeginEditing) { |
246 | 46475 | jjdelcerro | this.notifyUserIfNeedBeginEditing = notifyUserIfNeedBeginEditing;
|
247 | 46615 | jjdelcerro | return this; |
248 | 46475 | jjdelcerro | } |
249 | |||
250 | /**
|
||
251 | * @return the finishAndRestarEdit
|
||
252 | */
|
||
253 | 46575 | jjdelcerro | @Override
|
254 | 46475 | jjdelcerro | public boolean isFinishAndRestarEdit() { |
255 | return finishAndRestarEdit;
|
||
256 | } |
||
257 | |||
258 | /**
|
||
259 | * @param finishAndRestarEdit the finishAndRestarEdit to set
|
||
260 | */
|
||
261 | 46575 | jjdelcerro | @Override
|
262 | 46615 | jjdelcerro | public UpdateTableProcessParameters setFinishAndRestarEdit(boolean finishAndRestarEdit) { |
263 | 46475 | jjdelcerro | this.finishAndRestarEdit = finishAndRestarEdit;
|
264 | 46615 | jjdelcerro | return this; |
265 | 46475 | jjdelcerro | } |
266 | |||
267 | 46448 | jjdelcerro | } |