Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java40
1 files changed, 37 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java b/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java
index 7494788d92..d14052bedd 100644
--- a/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java
+++ b/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java
@@ -16,11 +16,12 @@ import org.eclipse.emf.cdo.internal.explorer.bundle.OM;
import org.eclipse.net4j.util.AdapterUtil;
import org.eclipse.net4j.util.container.SetContainer;
+import org.eclipse.net4j.util.event.Event;
import org.eclipse.net4j.util.io.IOUtil;
+import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
import java.io.File;
import java.io.FileInputStream;
-import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -96,7 +97,7 @@ public abstract class AbstractManager<T extends CDOExplorerElement> extends SetC
private void readElement(File folder)
{
- File file = new File(folder, ".properties");
+ File file = new File(folder, AbstractElement.PROPERTIES_FILE);
if (file.isFile())
{
FileInputStream in = null;
@@ -110,7 +111,7 @@ public abstract class AbstractManager<T extends CDOExplorerElement> extends SetC
addElement(folder, properties);
}
- catch (IOException ex)
+ catch (Exception ex)
{
OM.LOG.error(ex);
}
@@ -127,6 +128,7 @@ public abstract class AbstractManager<T extends CDOExplorerElement> extends SetC
T element = createElement(type);
((AbstractElement)element).init(folder, type, properties);
+ LifecycleUtil.activate(element);
addElement(element);
elementMap.put(element.getID(), element);
@@ -134,4 +136,36 @@ public abstract class AbstractManager<T extends CDOExplorerElement> extends SetC
}
protected abstract T createElement(String type);
+
+ public void fireElementChangedEvent(Object changedElement)
+ {
+ fireEvent(new ElementChangedImpl(this, changedElement));
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private static final class ElementChangedImpl extends Event implements ElementChangedEvent
+ {
+ private static final long serialVersionUID = 1L;
+
+ private final Object changedElement;
+
+ public ElementChangedImpl(CDOExplorerManager<?> manager, Object changedElement)
+ {
+ super(manager);
+ this.changedElement = changedElement;
+ }
+
+ @Override
+ public CDOExplorerManager<?> getSource()
+ {
+ return (CDOExplorerManager<?>)super.getSource();
+ }
+
+ public final Object getChangedElement()
+ {
+ return changedElement;
+ }
+ }
}

Back to the top