comparison dwtx/jface/text/templates/persistence/TemplateStore.d @ 134:51e6e63f930e

Regex fix for casts
author Frank Benoit <benoit@tionex.de>
date Sun, 24 Aug 2008 01:46:20 +0200
parents 7d818bd32d63
children 65801ad2b265
comparison
equal deleted inserted replaced
133:7d818bd32d63 134:51e6e63f930e
190 protected void internalAdd(TemplatePersistenceData data) { 190 protected void internalAdd(TemplatePersistenceData data) {
191 if (!data.isCustom()) { 191 if (!data.isCustom()) {
192 // check if the added template is not a duplicate id 192 // check if the added template is not a duplicate id
193 String id= data.getId(); 193 String id= data.getId();
194 for (Iterator it= fTemplates.iterator(); it.hasNext();) { 194 for (Iterator it= fTemplates.iterator(); it.hasNext();) {
195 TemplatePersistenceData d2= (TemplatePersistenceData) it.next(); 195 TemplatePersistenceData d2= cast(TemplatePersistenceData) it.next();
196 if (d2.getId() !is null && d2.getId().equals(id)) 196 if (d2.getId() !is null && d2.getId().equals(id))
197 return; 197 return;
198 } 198 }
199 fTemplates.add(data); 199 fTemplates.add(data);
200 } 200 }
206 * @throws IOException if the templates cannot be written 206 * @throws IOException if the templates cannot be written
207 */ 207 */
208 public void save() throws IOException { 208 public void save() throws IOException {
209 ArrayList custom= new ArrayList(); 209 ArrayList custom= new ArrayList();
210 for (Iterator it= fTemplates.iterator(); it.hasNext();) { 210 for (Iterator it= fTemplates.iterator(); it.hasNext();) {
211 TemplatePersistenceData data= (TemplatePersistenceData) it.next(); 211 TemplatePersistenceData data= cast(TemplatePersistenceData) it.next();
212 if (data.isCustom() && !(data.isUserAdded() && data.isDeleted())) // don't save deleted user-added templates 212 if (data.isCustom() && !(data.isUserAdded() && data.isDeleted())) // don't save deleted user-added templates
213 custom.add(data); 213 custom.add(data);
214 } 214 }
215 215
216 StringWriter output= new StringWriter(); 216 StringWriter output= new StringWriter();
219 219
220 fIgnorePreferenceStoreChanges= true; 220 fIgnorePreferenceStoreChanges= true;
221 try { 221 try {
222 fPreferenceStore.setValue(fKey, output.toString()); 222 fPreferenceStore.setValue(fKey, output.toString());
223 if (fPreferenceStore instanceof IPersistentPreferenceStore) 223 if (fPreferenceStore instanceof IPersistentPreferenceStore)
224 ((IPersistentPreferenceStore)fPreferenceStore).save(); 224 (cast(IPersistentPreferenceStore)fPreferenceStore).save();
225 } finally { 225 } finally {
226 fIgnorePreferenceStoreChanges= false; 226 fIgnorePreferenceStoreChanges= false;
227 } 227 }
228 } 228 }
229 229
239 239
240 if (data.isUserAdded()) { 240 if (data.isUserAdded()) {
241 fTemplates.add(data); 241 fTemplates.add(data);
242 } else { 242 } else {
243 for (Iterator it= fTemplates.iterator(); it.hasNext();) { 243 for (Iterator it= fTemplates.iterator(); it.hasNext();) {
244 TemplatePersistenceData d2= (TemplatePersistenceData) it.next(); 244 TemplatePersistenceData d2= cast(TemplatePersistenceData) it.next();
245 if (d2.getId() !is null && d2.getId().equals(data.getId())) { 245 if (d2.getId() !is null && d2.getId().equals(data.getId())) {
246 d2.setTemplate(data.getTemplate()); 246 d2.setTemplate(data.getTemplate());
247 d2.setDeleted(data.isDeleted()); 247 d2.setDeleted(data.isDeleted());
248 d2.setEnabled(data.isEnabled()); 248 d2.setEnabled(data.isEnabled());
249 return; 249 return;
273 /** 273 /**
274 * Restores all contributed templates that have been deleted. 274 * Restores all contributed templates that have been deleted.
275 */ 275 */
276 public void restoreDeleted() { 276 public void restoreDeleted() {
277 for (Iterator it= fTemplates.iterator(); it.hasNext();) { 277 for (Iterator it= fTemplates.iterator(); it.hasNext();) {
278 TemplatePersistenceData data= (TemplatePersistenceData) it.next(); 278 TemplatePersistenceData data= cast(TemplatePersistenceData) it.next();
279 if (data.isDeleted()) 279 if (data.isDeleted())
280 data.setDeleted(false); 280 data.setDeleted(false);
281 } 281 }
282 } 282 }
283 283
315 * @return all enabled templates for the given context type 315 * @return all enabled templates for the given context type
316 */ 316 */
317 public Template[] getTemplates(String contextTypeId) { 317 public Template[] getTemplates(String contextTypeId) {
318 List templates= new ArrayList(); 318 List templates= new ArrayList();
319 for (Iterator it= fTemplates.iterator(); it.hasNext();) { 319 for (Iterator it= fTemplates.iterator(); it.hasNext();) {
320 TemplatePersistenceData data= (TemplatePersistenceData) it.next(); 320 TemplatePersistenceData data= cast(TemplatePersistenceData) it.next();
321 if (data.isEnabled() && !data.isDeleted() && (contextTypeId is null || contextTypeId.equals(data.getTemplate().getContextTypeId()))) 321 if (data.isEnabled() && !data.isDeleted() && (contextTypeId is null || contextTypeId.equals(data.getTemplate().getContextTypeId())))
322 templates.add(data.getTemplate()); 322 templates.add(data.getTemplate());
323 } 323 }
324 324
325 return (Template[]) templates.toArray(new Template[templates.size()]); 325 return (Template[]) templates.toArray(new Template[templates.size()]);
344 */ 344 */
345 public Template findTemplate(String name, String contextTypeId) { 345 public Template findTemplate(String name, String contextTypeId) {
346 Assert.isNotNull(name); 346 Assert.isNotNull(name);
347 347
348 for (Iterator it= fTemplates.iterator(); it.hasNext();) { 348 for (Iterator it= fTemplates.iterator(); it.hasNext();) {
349 TemplatePersistenceData data= (TemplatePersistenceData) it.next(); 349 TemplatePersistenceData data= cast(TemplatePersistenceData) it.next();
350 Template template= data.getTemplate(); 350 Template template= data.getTemplate();
351 if (data.isEnabled() && !data.isDeleted() 351 if (data.isEnabled() && !data.isDeleted()
352 && (contextTypeId is null || contextTypeId.equals(template.getContextTypeId())) 352 && (contextTypeId is null || contextTypeId.equals(template.getContextTypeId()))
353 && name.equals(template.getName())) 353 && name.equals(template.getName()))
354 return template; 354 return template;
379 * @return all template data, whether enabled or not 379 * @return all template data, whether enabled or not
380 */ 380 */
381 public TemplatePersistenceData[] getTemplateData(bool includeDeleted) { 381 public TemplatePersistenceData[] getTemplateData(bool includeDeleted) {
382 List datas= new ArrayList(); 382 List datas= new ArrayList();
383 for (Iterator it= fTemplates.iterator(); it.hasNext();) { 383 for (Iterator it= fTemplates.iterator(); it.hasNext();) {
384 TemplatePersistenceData data= (TemplatePersistenceData) it.next(); 384 TemplatePersistenceData data= cast(TemplatePersistenceData) it.next();
385 if (includeDeleted || !data.isDeleted()) 385 if (includeDeleted || !data.isDeleted())
386 datas.add(data); 386 datas.add(data);
387 } 387 }
388 388
389 return (TemplatePersistenceData[]) datas.toArray(new TemplatePersistenceData[datas.size()]); 389 return (TemplatePersistenceData[]) datas.toArray(new TemplatePersistenceData[datas.size()]);
398 * @since 3.1 398 * @since 3.1
399 */ 399 */
400 public TemplatePersistenceData getTemplateData(String id) { 400 public TemplatePersistenceData getTemplateData(String id) {
401 Assert.isNotNull(id); 401 Assert.isNotNull(id);
402 for (Iterator it= fTemplates.iterator(); it.hasNext();) { 402 for (Iterator it= fTemplates.iterator(); it.hasNext();) {
403 TemplatePersistenceData data= (TemplatePersistenceData) it.next(); 403 TemplatePersistenceData data= cast(TemplatePersistenceData) it.next();
404 if (id.equals(data.getId())) 404 if (id.equals(data.getId()))
405 return data; 405 return data;
406 } 406 }
407 407
408 return null; 408 return null;