01: /*
02: * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright
03: * notice. All rights reserved.
04: */
05: package org.terracotta.dso;
06:
07: import org.eclipse.core.resources.IProject;
08:
09: public class MultiChangeSignaller {
10: public boolean rootsChanged = false;
11: public boolean namedLocksChanged = false;
12: public boolean autolocksChanged = false;
13: public boolean bootClassesChanged = false;
14: public boolean transientFieldsChanged = false;
15: public boolean distributedMethodsChanged = false;
16: public boolean includeRulesChanged = false;
17: public boolean excludeRulesChanged = false;
18:
19: public void signal(IProject project) {
20: TcPlugin plugin = TcPlugin.getDefault();
21:
22: if (rootsChanged)
23: plugin.fireRootsChanged(project);
24: if (namedLocksChanged)
25: plugin.fireNamedLocksChanged(project);
26: if (autolocksChanged)
27: plugin.fireAutolocksChanged(project);
28: if (bootClassesChanged)
29: plugin.fireAutolocksChanged(project);
30: if (transientFieldsChanged)
31: plugin.fireTransientFieldsChanged(project);
32: if (distributedMethodsChanged)
33: plugin.fireDistributedMethodsChanged(project);
34: if (includeRulesChanged)
35: plugin.fireIncludeRulesChanged(project);
36: if (excludeRulesChanged)
37: plugin.fireExcludeRulesChanged(project);
38:
39: if (plugin.getConfigurationEditor(project) == null) {
40: plugin.saveConfiguration(project);
41: }
42: }
43: }
|