summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2007-09-27 07:37:57 (EDT)
committerEike Stepper2007-09-27 07:37:57 (EDT)
commita56e414805714ed57f0c9999f77c819b4c3db6e9 (patch)
treececf9643e8f3e1150b48f602d41a16c141931a7a
parent9f6a48ebfbf3a85eacecbd8fb865b56ed7b4ae85 (diff)
downloadcdo-a56e414805714ed57f0c9999f77c819b4c3db6e9.zip
cdo-a56e414805714ed57f0c9999f77c819b4c3db6e9.tar.gz
cdo-a56e414805714ed57f0c9999f77c819b4c3db6e9.tar.bz2
[204739] Provide CDOServer application entry point
https://bugs.eclipse.org/bugs/show_bug.cgi?id=204739
-rw-r--r--features/org.eclipse.emf.cdo.server-feature/rootfiles/net4j-config/cdo-server.xml40
-rw-r--r--features/org.eclipse.emf.cdo.server-feature/rootfiles/net4j-config/net4j-server.xml6
-rw-r--r--plugins/org.eclipse.emf.cdo.server/CDOServer.launch36
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOServerApplication.java56
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/OM.java21
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/CDOClient.launch (renamed from plugins/org.eclipse.emf.cdo.ui/CDO UI.launch)160
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF5
-rw-r--r--plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/bundle/OM.java4
-rw-r--r--plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/container/ManagedContainer.java47
-rw-r--r--plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/OSGiApplication.java139
10 files changed, 381 insertions, 133 deletions
diff --git a/features/org.eclipse.emf.cdo.server-feature/rootfiles/net4j-config/cdo-server.xml b/features/org.eclipse.emf.cdo.server-feature/rootfiles/net4j-config/cdo-server.xml
new file mode 100644
index 0000000..2dab392
--- /dev/null
+++ b/features/org.eclipse.emf.cdo.server-feature/rootfiles/net4j-config/cdo-server.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cdo-server>
+
+ <repository name="repo1">
+ <property name="overrideUUID" value="1ff5d226-b1f0-40fb-aba2-0c31b38c764f"/>
+ <property name="supportingAudits" value="true"/>
+ <property name="verifyingRevisions" value="false"/>
+ <property name="rememberingKnownTypes" value="false"/>
+
+ <store type="db">
+ <!-- mode: OFF | EXPRESS | NORMAL | GUARANTEED -->
+ <invalidationStrategy mode="EXPRESS"/>
+
+ <!-- type: horizontal | vertical | <any user-contributed type> -->
+ <mappingStrategy type="horizontal">
+ <!-- ONE_TABLE_PER_REFERENCE | ONE_TABLE_PER_CLASS | ONE_TABLE_PER_PACKAGE | ONE_TABLE_PER_REPOSITORY | LIKE_ATTRIBUTES -->
+ <property name="toManyReferences" value="ONE_TABLE_PER_REFERENCE"/>
+
+ <!-- LIKE_ATTRIBUTES | LIKE_TO_MANY_REFERENCES -->
+ <property name="toOneReferences" value="LIKE_ATTRIBUTES"/>
+
+ <!-- MODEL | STRATEGY -->
+ <property name="mappingPrecedence" value="MODEL"/>
+ </mappingStrategy>
+
+ <!-- name: <any user-contributed DBAdapter name> -->
+ <dbAdapter name="derby"/>
+
+ <!-- <dataSource
+ driverClass="org.apache.derby.jdbc.EmbeddedDataSource"
+ databaseName="/temp/cdodb1"
+ createDatabase="create"/> -->
+ <dataSource
+ driverClass="org.apache.derby.jdbc.ClientDataSource"
+ databaseName="cdodb1"
+ createDatabase="create"/>
+ </store>
+ </repository>
+
+</cdo-server>
diff --git a/features/org.eclipse.emf.cdo.server-feature/rootfiles/net4j-config/net4j-server.xml b/features/org.eclipse.emf.cdo.server-feature/rootfiles/net4j-config/net4j-server.xml
new file mode 100644
index 0000000..aabacc6
--- /dev/null
+++ b/features/org.eclipse.emf.cdo.server-feature/rootfiles/net4j-config/net4j-server.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<net4j-server>
+
+ <acceptor type="tcp" listen-addr="0.0.0.0" port="2036"/>
+
+</net4j-server>
diff --git a/plugins/org.eclipse.emf.cdo.server/CDOServer.launch b/plugins/org.eclipse.emf.cdo.server/CDOServer.launch
new file mode 100644
index 0000000..0704d0a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server/CDOServer.launch
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.emf.cdo.server.app"/>
+<booleanAttribute key="askclear" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="org.eclipse.emf.cdo.protocol,org.eclipse.emf.cdo.server,org.eclipse.emf.cdo.server.db,org.eclipse.net4j,org.eclipse.net4j.db,org.eclipse.net4j.db.derby,org.eclipse.net4j.tcp,org.eclipse.net4j.util"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/CDOServer"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}.server"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}&#13;&#10;-console&#13;&#10;-noExit"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.application.launchDefault=true&#13;&#10;-Dnet4j.config=${resource_loc:/org.eclipse.emf.cdo.server-feature/rootfiles/net4j-config}"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
+<stringAttribute key="selectedPlugin" value="org.eclipse.net4j.util"/>
+<stringAttribute key="selected_target_plugins" value="javax.servlet,org.eclipse.core.contenttype,org.eclipse.core.jobs,org.eclipse.core.runtime,org.eclipse.core.runtime.compatibility.auth,org.eclipse.core.runtime.compatibility.registry,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.osgi,org.eclipse.osgi.services,org.eclipse.osgi.util,org.eclipse.update.configurator"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.cdo.protocol,org.eclipse.net4j.util,org.eclipse.emf.cdo.server,org.eclipse.emf.cdo.server.db,org.eclipse.net4j.db.derby,org.eclipse.net4j.db,org.eclipse.net4j"/>
+<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
+<booleanAttribute key="tracing" value="true"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOServerApplication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOServerApplication.java
index e801cdb..8f1de72 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOServerApplication.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOServerApplication.java
@@ -10,36 +10,68 @@
**************************************************************************/
package org.eclipse.emf.cdo.internal.server.bundle;
-import org.eclipse.net4j.internal.util.om.OSGiBundle;
+import org.eclipse.emf.cdo.internal.server.RepositoryConfigurator;
+import org.eclipse.emf.cdo.internal.server.RepositoryFactory;
+import org.eclipse.emf.cdo.server.IRepository;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
+import org.eclipse.net4j.internal.util.om.trace.ContextTracer;
+import org.eclipse.net4j.util.container.IPluginContainer;
+import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
+import org.eclipse.net4j.util.om.OMPlatform;
+import org.eclipse.net4j.util.om.OSGiApplication;
-import org.osgi.framework.BundleException;
+import java.io.File;
/**
* @author Eike Stepper
*/
-public class CDOServerApplication implements IApplication
+public class CDOServerApplication extends OSGiApplication
{
+ public static final String ID = OM.BUNDLE_ID + ".app";
+
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, CDOServerApplication.class);
+
+ private IRepository[] repositories;
+
public CDOServerApplication()
{
+ super(ID);
}
- public Object start(IApplicationContext context) throws Exception
+ @Override
+ protected void doStart() throws Exception
{
- return EXIT_OK;
+ super.doStart();
+ File configFile = OMPlatform.INSTANCE.getConfigFile("cdo-server.xml");
+ if (configFile != null && configFile.exists())
+ {
+ if (TRACER.isEnabled()) TRACER.format("Configuring repositories from {0}", configFile.getAbsolutePath());
+ RepositoryConfigurator configurator = new RepositoryConfigurator(IPluginContainer.INSTANCE);
+ repositories = configurator.configure(configFile);
+ }
+ else
+ {
+ OM.LOG.warn("Repository config file not found: " + configFile.getAbsolutePath());
+ }
}
- public void stop()
+ @Override
+ protected void doStop() throws Exception
{
- try
+ if (repositories != null)
{
- ((OSGiBundle)OM.BUNDLE).getBundleContext().getBundle().stop();
+ for (IRepository repository : repositories)
+ {
+ LifecycleUtil.deactivate(repository);
+ }
}
- catch (BundleException ex)
+
+ Object[] elements = IPluginContainer.INSTANCE.getElements(RepositoryFactory.PRODUCT_GROUP);
+ for (Object element : elements)
{
- OM.LOG.error(ex);
+ System.out.println("Container: " + element);
}
+
+ super.doStop();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/OM.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/OM.java
index 6229e0c..d421555 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/OM.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/OM.java
@@ -10,17 +10,12 @@
**************************************************************************/
package org.eclipse.emf.cdo.internal.server.bundle;
-import org.eclipse.emf.cdo.internal.server.RepositoryConfigurator;
-
-import org.eclipse.net4j.util.container.IPluginContainer;
import org.eclipse.net4j.util.om.OMBundle;
import org.eclipse.net4j.util.om.OMPlatform;
import org.eclipse.net4j.util.om.OSGiActivator;
import org.eclipse.net4j.util.om.log.OMLogger;
import org.eclipse.net4j.util.om.trace.OMTracer;
-import java.io.File;
-
/**
* @author Eike Stepper
*/
@@ -48,19 +43,9 @@ public abstract class OM
public static final OMLogger LOG = BUNDLE.logger();
- static void start() throws Exception
- {
- File configFile = OMPlatform.INSTANCE.getConfigFile("cdo.server.xml");
- if (configFile != null && configFile.exists())
- {
- RepositoryConfigurator configurator = new RepositoryConfigurator(IPluginContainer.INSTANCE);
- configurator.configure(configFile);
- }
- else
- {
- LOG.warn("Repository config file not found: " + configFile.getAbsolutePath());
- }
- }
+ // static void start() throws Exception
+ // {
+ // }
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.emf.cdo.ui/CDO UI.launch b/plugins/org.eclipse.emf.cdo.ui/CDOClient.launch
index 7ca86c0..a84a069 100644
--- a/plugins/org.eclipse.emf.cdo.ui/CDO UI.launch
+++ b/plugins/org.eclipse.emf.cdo.ui/CDOClient.launch
@@ -2,29 +2,29 @@
<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
<booleanAttribute key="askclear" value="true"/>
<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
<stringAttribute key="bootstrap" value=""/>
<stringAttribute key="checked" value="org.eclipse.emf.cdo,org.eclipse.emf.cdo.protocol,org.eclipse.emf.cdo.server,org.eclipse.emf.cdo.server.db,org.eclipse.net4j,org.eclipse.net4j.db,org.eclipse.net4j.ui,org.eclipse.net4j.util"/>
<booleanAttribute key="clearConfig" value="true"/>
<booleanAttribute key="clearws" value="false"/>
<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/CDO UI"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/CDOClient"/>
<booleanAttribute key="default" value="false"/>
<booleanAttribute key="includeOptional" value="false"/>
-<stringAttribute key="location" value="${workspace_loc}.rt"/>
+<stringAttribute key="location" value="${workspace_loc}.client"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosplash"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosplash&#13;&#10;-console&#13;&#10;-consoleLog"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.console&#13;&#10;-Dorg.aspectj.tracing.debug=false&#13;&#10;-Dnet4j.config=${resource_loc:/org.eclipse.emf.cdo.ui/config}&#13;&#10;-Xms40m&#13;&#10;-Xmx512m"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.aspectj.tracing.debug=false&#13;&#10;-Xms40m&#13;&#10;-Xmx512m"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<stringAttribute key="selectedPlugin" value="org.eclipse.net4j"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu,com.ibm.icu36.data.update,com.jcraft.jsch,javax.servlet,javax.servlet.jsp,org.apache.ant,org.apache.commons.el,org.apache.commons.logging,org.apache.jasper,org.apache.lucene,org.apache.lucene.analysis,org.aspectj.runtime,org.aspectj.weaver,org.eclipse.ant.core,org.eclipse.ant.ui,org.eclipse.compare,org.eclipse.core.boot,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.databinding,org.eclipse.core.databinding.beans,org.eclipse.core.expressions,org.eclipse.core.filebuffers,org.eclipse.core.filesystem,org.eclipse.core.filesystem.win32.x86,org.eclipse.core.jobs,org.eclipse.core.net,org.eclipse.core.resources,org.eclipse.core.resources.compatibility,org.eclipse.core.resources.win32,org.eclipse.core.runtime,org.eclipse.core.runtime.compatibility,org.eclipse.core.runtime.compatibility.auth,org.eclipse.core.runtime.compatibility.registry,org.eclipse.core.variables,org.eclipse.cvs,org.eclipse.cvs.source,org.eclipse.debug.core,org.eclipse.debug.ui,org.eclipse.emf,org.eclipse.emf.ant,org.eclipse.emf.cheatsheets,org.eclipse.emf.codegen,org.eclipse.emf.codegen.ecore,org.eclipse.emf.codegen.ecore.ui,org.eclipse.emf.codegen.ui,org.eclipse.emf.common,org.eclipse.emf.common.ui,org.eclipse.emf.commonj.sdo,org.eclipse.emf.converter,org.eclipse.emf.doc,org.eclipse.emf.ecore,org.eclipse.emf.ecore.change,org.eclipse.emf.ecore.change.edit,org.eclipse.emf.ecore.edit,org.eclipse.emf.ecore.editor,org.eclipse.emf.ecore.sdo,org.eclipse.emf.ecore.sdo.doc,org.eclipse.emf.ecore.sdo.edit,org.eclipse.emf.ecore.sdo.editor,org.eclipse.emf.ecore.sdo.source,org.eclipse.emf.ecore.xmi,org.eclipse.emf.edit,org.eclipse.emf.edit.ui,org.eclipse.emf.exporter,org.eclipse.emf.importer,org.eclipse.emf.importer.ecore,org.eclipse.emf.importer.java,org.eclipse.emf.importer.rose,org.eclipse.emf.mapping,org.eclipse.emf.mapping.ecore2ecore,org.eclipse.emf.mapping.ecore2ecore.editor,org.eclipse.emf.mapping.ecore2xml,org.eclipse.emf.mapping.ecore2xml.ui,org.eclipse.emf.mapping.ui,org.eclipse.emf.mapping.xsd2ecore,org.eclipse.emf.mapping.xsd2ecore.editor,org.eclipse.emf.source,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.equinox.http.servlet,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.eclipse.equinox.launcher,org.eclipse.equinox.launcher.win32.win32.x86,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.help,org.eclipse.help.appserver,org.eclipse.help.base,org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.jdt,org.eclipse.jdt.core,org.eclipse.jdt.core.manipulation,org.eclipse.jdt.debug,org.eclipse.jdt.debug.ui,org.eclipse.jdt.doc.isv,org.eclipse.jdt.doc.user,org.eclipse.jdt.junit,org.eclipse.jdt.junit.runtime,org.eclipse.jdt.junit4.runtime,org.eclipse.jdt.launching,org.eclipse.jdt.source,org.eclipse.jdt.ui,org.eclipse.jface,org.eclipse.jface.databinding,org.eclipse.jface.text,org.eclipse.jsch.core,org.eclipse.ltk.core.refactoring,org.eclipse.ltk.ui.refactoring,org.eclipse.osgi,org.eclipse.osgi.services,org.eclipse.osgi.util,org.eclipse.pde,org.eclipse.pde.build,org.eclipse.pde.core,org.eclipse.pde.doc.user,org.eclipse.pde.junit.runtime,org.eclipse.pde.runtime,org.eclipse.pde.source,org.eclipse.pde.ui,org.eclipse.pde.ui.templates,org.eclipse.platform,org.eclipse.platform.doc.isv,org.eclipse.platform.source,org.eclipse.platform.source.win32.win32.x86,org.eclipse.rcp,org.eclipse.rcp.source,org.eclipse.rcp.source.win32.win32.x86,org.eclipse.sdk,org.eclipse.search,org.eclipse.swt,org.eclipse.swt.win32.win32.x86,org.eclipse.team.core,org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui,org.eclipse.text,org.eclipse.tomcat,org.eclipse.ui,org.eclipse.ui.browser,org.eclipse.ui.cheatsheets,org.eclipse.ui.console,org.eclipse.ui.editors,org.eclipse.ui.externaltools,org.eclipse.ui.forms,org.eclipse.ui.ide,org.eclipse.ui.ide.application,org.eclipse.ui.intro,org.eclipse.ui.intro.universal,org.eclipse.ui.navigator,org.eclipse.ui.navigator.resources,org.eclipse.ui.presentations.r21,org.eclipse.ui.views,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.win32,org.eclipse.ui.workbench,org.eclipse.ui.workbench.compatibility,org.eclipse.ui.workbench.texteditor,org.eclipse.uml2.common,org.eclipse.uml2.common.edit,org.eclipse.uml2.uml,org.eclipse.uml2.uml,org.eclipse.update.configurator,org.eclipse.update.core,org.eclipse.update.core.win32,org.eclipse.update.scheduler,org.eclipse.update.ui,org.eclipse.xsd,org.eclipse.xsd.cheatsheets,org.eclipse.xsd.doc,org.eclipse.xsd.ecore.exporter,org.eclipse.xsd.ecore.importer,org.eclipse.xsd.edit,org.eclipse.xsd.editor,org.eclipse.xsd.source,org.junit,org.junit4,org.mortbay.jetty"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.cdo.protocol,org.eclipse.net4j.util,org.eclipse.emf.cdo.server,org.eclipse.emf.cdo.ui,org.eclipse.emf.cdo.edit,org.eclipse.emf.cdo,org.eclipse.emf.cdo.server.db,org.eclipse.emf.cdo.weaver,org.eclipse.emf.cdo.tests.model1.edit,org.eclipse.net4j.util.ui,org.eclipse.net4j.db.derby,org.eclipse.net4j.db,org.eclipse.net4j,org.eclipse.emf.cdo.tests.model1,org.eclipse.net4j.tcp,org.eclipse.net4j.ui,org.eclipse.emf.cdo.weaver.ui"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu,com.ibm.icu36.data.update,com.jcraft.jsch,javax.servlet,javax.servlet.jsp,org.apache.ant,org.apache.commons.el,org.apache.commons.logging,org.apache.jasper,org.apache.lucene,org.apache.lucene.analysis,org.aspectj.runtime,org.aspectj.weaver,org.eclipse.ant.core,org.eclipse.ant.ui,org.eclipse.compare,org.eclipse.core.boot,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.databinding,org.eclipse.core.databinding.beans,org.eclipse.core.expressions,org.eclipse.core.filebuffers,org.eclipse.core.filesystem,org.eclipse.core.filesystem.win32.x86,org.eclipse.core.jobs,org.eclipse.core.net,org.eclipse.core.resources,org.eclipse.core.resources.compatibility,org.eclipse.core.resources.win32,org.eclipse.core.runtime,org.eclipse.core.runtime.compatibility,org.eclipse.core.runtime.compatibility.auth,org.eclipse.core.runtime.compatibility.registry,org.eclipse.core.variables,org.eclipse.cvs,org.eclipse.cvs.source,org.eclipse.debug.core,org.eclipse.debug.ui,org.eclipse.emf,org.eclipse.emf.ant,org.eclipse.emf.cheatsheets,org.eclipse.emf.codegen,org.eclipse.emf.codegen.ecore,org.eclipse.emf.codegen.ecore.ui,org.eclipse.emf.codegen.ui,org.eclipse.emf.common,org.eclipse.emf.common.ui,org.eclipse.emf.commonj.sdo,org.eclipse.emf.converter,org.eclipse.emf.doc,org.eclipse.emf.ecore,org.eclipse.emf.ecore.change,org.eclipse.emf.ecore.change.edit,org.eclipse.emf.ecore.edit,org.eclipse.emf.ecore.editor,org.eclipse.emf.ecore.sdo,org.eclipse.emf.ecore.sdo.doc,org.eclipse.emf.ecore.sdo.edit,org.eclipse.emf.ecore.sdo.editor,org.eclipse.emf.ecore.sdo.source,org.eclipse.emf.ecore.xmi,org.eclipse.emf.edit,org.eclipse.emf.edit.ui,org.eclipse.emf.exporter,org.eclipse.emf.importer,org.eclipse.emf.importer.ecore,org.eclipse.emf.importer.java,org.eclipse.emf.importer.rose,org.eclipse.emf.mapping,org.eclipse.emf.mapping.ecore2ecore,org.eclipse.emf.mapping.ecore2ecore.editor,org.eclipse.emf.mapping.ecore2xml,org.eclipse.emf.mapping.ecore2xml.ui,org.eclipse.emf.mapping.ui,org.eclipse.emf.mapping.xsd2ecore,org.eclipse.emf.mapping.xsd2ecore.editor,org.eclipse.emf.source,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.equinox.http.servlet,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.eclipse.equinox.launcher,org.eclipse.equinox.launcher.win32.win32.x86,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.help,org.eclipse.help.appserver,org.eclipse.help.base,org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.jdt,org.eclipse.jdt.compiler.apt,org.eclipse.jdt.compiler.tool,org.eclipse.jdt.core,org.eclipse.jdt.core.manipulation,org.eclipse.jdt.debug,org.eclipse.jdt.debug.ui,org.eclipse.jdt.doc.isv,org.eclipse.jdt.doc.user,org.eclipse.jdt.junit,org.eclipse.jdt.junit.runtime,org.eclipse.jdt.junit4.runtime,org.eclipse.jdt.launching,org.eclipse.jdt.source,org.eclipse.jdt.ui,org.eclipse.jface,org.eclipse.jface.databinding,org.eclipse.jface.text,org.eclipse.jsch.core,org.eclipse.ltk.core.refactoring,org.eclipse.ltk.ui.refactoring,org.eclipse.osgi,org.eclipse.osgi.services,org.eclipse.osgi.util,org.eclipse.pde,org.eclipse.pde.build,org.eclipse.pde.core,org.eclipse.pde.doc.user,org.eclipse.pde.junit.runtime,org.eclipse.pde.runtime,org.eclipse.pde.source,org.eclipse.pde.ui,org.eclipse.pde.ui.templates,org.eclipse.platform,org.eclipse.platform.doc.isv,org.eclipse.platform.source,org.eclipse.platform.source.win32.win32.x86,org.eclipse.rcp,org.eclipse.rcp.source,org.eclipse.rcp.source.win32.win32.x86,org.eclipse.sdk,org.eclipse.search,org.eclipse.swt,org.eclipse.swt.win32.win32.x86,org.eclipse.team.core,org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui,org.eclipse.text,org.eclipse.tomcat,org.eclipse.ui,org.eclipse.ui.browser,org.eclipse.ui.cheatsheets,org.eclipse.ui.console,org.eclipse.ui.editors,org.eclipse.ui.externaltools,org.eclipse.ui.forms,org.eclipse.ui.ide,org.eclipse.ui.ide.application,org.eclipse.ui.intro,org.eclipse.ui.intro.universal,org.eclipse.ui.navigator,org.eclipse.ui.navigator.resources,org.eclipse.ui.presentations.r21,org.eclipse.ui.views,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.win32,org.eclipse.ui.workbench,org.eclipse.ui.workbench.compatibility,org.eclipse.ui.workbench.texteditor,org.eclipse.uml2.common,org.eclipse.uml2.common.edit,org.eclipse.uml2.uml,org.eclipse.uml2.uml,org.eclipse.update.configurator,org.eclipse.update.core,org.eclipse.update.core.win32,org.eclipse.update.scheduler,org.eclipse.update.ui,org.eclipse.xsd,org.eclipse.xsd.cheatsheets,org.eclipse.xsd.doc,org.eclipse.xsd.ecore.exporter,org.eclipse.xsd.ecore.importer,org.eclipse.xsd.edit,org.eclipse.xsd.editor,org.eclipse.xsd.source,org.junit,org.junit4,org.mortbay.jetty"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.cdo.protocol,org.eclipse.ant.optional.junit,org.eclipse.net4j.util,org.eclipse.emf.cdo.server,org.eclipse.emf.cdo.ui,org.eclipse.emf.cdo.edit,org.eclipse.emf.cdo,org.eclipse.emf.cdo.examples,org.eclipse.emf.cdo.weaver,org.eclipse.emf.cdo.tests.model1.editor,org.eclipse.emf.cdo.tests.model1.edit,org.eclipse.net4j.util.ui,org.eclipse.emf.cdo.tests.model1,org.eclipse.net4j,org.eclipse.net4j.tcp,org.eclipse.emf.cdo.doc,org.eclipse.net4j.ui,org.eclipse.emf.cdo.weaver.ui"/>
<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
<booleanAttribute key="tracing" value="true"/>
<mapAttribute key="tracingOptions">
@@ -42,22 +42,22 @@
<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
<mapEntry key="org.eclipse.wst.common.environment/trace/error" value="true"/>
<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
-<mapEntry key="org.eclipse.wst.common.environment/trace/warning" value="true"/>
<mapEntry key="org.eclipse.emf.validation/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.wst.common.environment/trace/warning" value="true"/>
<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields" value="true"/>
<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
<mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/>
<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
<mapEntry key="org.eclipse.emf.cdo.server/debug.repository" value="true"/>
<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.ui/contentOutline" value="false"/>
<mapEntry key="org.eclipse.emf.ocl/debug/exceptions/throwing" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.ui/contentOutline" value="false"/>
<mapEntry key="org.eclipse.wtp.common/debug/logtrace" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/>
<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
<mapEntry key="org.eclipse.emf.query.ocl/debug" value="true"/>
<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
@@ -65,39 +65,39 @@
<mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/>
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
<mapEntry key="org.eclipse.emf.cdo/debug.util" value="true"/>
-<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/propertySheet" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
+<mapEntry key="org.eclipse.ui/debug" value="false"/>
<mapEntry key="org.eclipse.wtp.common/debug/loglevel" value="WARNING"/>
<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
<mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/format" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
<mapEntry key="org.eclipse.ocl/debug/evaluation" value="false"/>
<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
<mapEntry key="org.eclipse.emf.validation/debug/constraints" value="false"/>
<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
-<mapEntry key="org.eclipse.ocl/debug/exceptions/catching" value="false"/>
<mapEntry key="com.ibm.datatools.core.ui/modelExplorer/trace" value="true"/>
+<mapEntry key="org.eclipse.ocl/debug/exceptions/catching" value="false"/>
<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
<mapEntry key="org.eclipse.team.core/threading" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
<mapEntry key="org.eclipse.wst.sse.core/structureddocument" value="false"/>
<mapEntry key="org.eclipse.emf.transaction/debug/methods/exiting" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.emf.cdo.protocol/debug.protocol" value="true"/>
<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.protocol/debug.protocol" value="true"/>
<mapEntry key="org.eclipse.ocl/debug" value="true"/>
<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/>
<mapEntry key="org.eclipse.net4j.db/debug" value="true"/>
-<mapEntry key="org.eclipse.emf.query/debug/exceptions/throwing" value="false"/>
<mapEntry key="org.eclipse.wst.common.environment/trace/ws_dt_cmd_engine" value="true"/>
+<mapEntry key="org.eclipse.emf.query/debug/exceptions/throwing" value="false"/>
<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
<mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/>
<mapEntry key="org.eclipse.wst.sse.ui/gotoNextAnnotation" value="false"/>
@@ -105,8 +105,8 @@
<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
<mapEntry key="org.eclipse.wst.common.environment/trace/ws_ant" value="true"/>
<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
<mapEntry key="org.eclipse.emf.validation/debug/parsers" value="false"/>
@@ -115,14 +115,14 @@
<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.emf.workspace/debug/methods/exiting" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/methods/exiting" value="false"/>
<mapEntry key="org.eclipse.wst.common.project.facet.core/actionSorting" value="false"/>
-<mapEntry key="com.ibm.datatools.core.ui/modelExplorerDecoration/trace" value="true"/>
<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/>
-<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/throwing" value="false"/>
+<mapEntry key="com.ibm.datatools.core.ui/modelExplorerDecoration/trace" value="true"/>
<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/throwing" value="false"/>
<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/>
<mapEntry key="org.eclipse.jet/debug/builder" value="false"/>
@@ -134,18 +134,18 @@
<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
<mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
+<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/>
<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
-<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/throwing" value="false"/>
<mapEntry key="org.eclipse.wst.common.environment/trace/info" value="true"/>
+<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
<mapEntry key="org.eclipse.net4j/perf" value="false"/>
<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.jet/debug/projectBundleLoading" value="false"/>
<mapEntry key="org.eclipse.net4j/debug" value="true"/>
+<mapEntry key="org.eclipse.jet/debug/projectBundleLoading" value="false"/>
<mapEntry key="org.eclipse.net4j/debug.signal" value="true"/>
<mapEntry key="org.eclipse.emf.query/debug/methods/entering" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/modelmanager" value="false"/>
@@ -155,18 +155,18 @@
<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugmenu" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/modelstatelistener" value="false"/>
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
-<mapEntry key="org.eclipse.datatools.connectivity.sqm.core/debug" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/lifecycle" value="false"/>
+<mapEntry key="org.eclipse.datatools.connectivity.sqm.core/debug" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/tasks/job" value="false"/>
<mapEntry key="org.eclipse.net4j/debug.buffer" value="false"/>
<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
<mapEntry key="org.eclipse.emf.cdo/debug.repository" value="true"/>
<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
+<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
<mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentmanager" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/>
<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
@@ -176,17 +176,17 @@
<mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/>
<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.object" value="false"/>
<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.object" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
<mapEntry key="org.eclipse.emf.cdo.server/debug.revision" value="false"/>
<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
+<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
<mapEntry key="org.eclipse.emf.workspace/debug" value="true"/>
<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
@@ -200,34 +200,34 @@
<mapEntry key="org.eclipse.emf.transaction/debug/transactions" value="false"/>
<mapEntry key="org.eclipse.ocl/debug/parsing" value="false"/>
<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/tasks/preferences" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
<mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/>
-<mapEntry key="com.ibm.datatools.core.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
+<mapEntry key="com.ibm.datatools.core.ui/debug" value="true"/>
<mapEntry key="org.eclipse.emf.cdo.server/debug.store" value="true"/>
+<mapEntry key="org.eclipse.core.resources/history" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/propertyChangeUpdateActionContributionItem" value="false"/>
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/readtime" value="false"/>
<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/>
<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/>
<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
<mapEntry key="org.eclipse.jet/debug/pluginBundleLoading" value="false"/>
<mapEntry key="org.eclipse.wst.xml.core/debug/tracefilter" value=""/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
<mapEntry key="org.eclipse.emf.cdo/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
<mapEntry key="org.eclipse.emf.validation/debug/listeners" value="false"/>
@@ -235,8 +235,8 @@
<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
<mapEntry key="org.eclipse.net4j/debug.connector" value="true"/>
-<mapEntry key="org.eclipse.wst.dtd.ui/projectionperf" value="false"/>
<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
+<mapEntry key="org.eclipse.wst.dtd.ui/projectionperf" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
<mapEntry key="org.eclipse.ocl/debug/methods/entering" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
@@ -244,8 +244,8 @@
<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
<mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerjob" value="false"/>
<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
@@ -261,11 +261,11 @@
<mapEntry key="org.eclipse.emf.validation/debug/cache" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
+<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
<mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/>
-<mapEntry key="org.eclipse.emf.validation/debug/methods/entering" value="false"/>
<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
+<mapEntry key="org.eclipse.emf.validation/debug/methods/entering" value="false"/>
<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
@@ -279,10 +279,10 @@
<mapEntry key="org.eclipse.help/debug/context" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerValidators" value="false"/>
<mapEntry key="org.eclipse.emf.validation/debug/xml" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
<mapEntry key="org.eclipse.jet/debug/bundleLoading" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
<mapEntry key="org.eclipse.emf.cdo/debug" value="true"/>
+<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
<mapEntry key="org.eclipse.emf.cdo.ui/debug" value="true"/>
<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/catching" value="false"/>
<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
@@ -293,29 +293,29 @@
<mapEntry key="org.eclipse.emf.ocl/debug/methods/exiting" value="false"/>
<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
<mapEntry key="org.eclipse.jet/debug" value="false"/>
+<mapEntry key="org.eclipse.team.core/debug" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
<mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/>
<mapEntry key="org.eclipse.wst.xml.ui/projectionperf" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
<mapEntry key="org.eclipse.core.resources/save" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/throwing" value="false"/>
<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
-<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/>
<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
+<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/>
<mapEntry key="org.eclipse.emf.validation/debug/exceptions/catching" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
<mapEntry key="org.eclipse.emf.cdo.server/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/operations" value="false"/>
<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
-<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/>
<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/contributetime" value="false"/>
+<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/>
<mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/>
<mapEntry key="org.eclipse.emf.workspace/debug/methods/entering" value="false"/>
<mapEntry key="org.eclipse.emf.query.ocl/debug/methods/entering" value="false"/>
@@ -327,8 +327,8 @@
<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
<mapEntry key="org.eclipse.emf.transaction/debug/locking" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
-<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/>
<mapEntry key="org.eclipse.emf.validation/debug/providers" value="false"/>
+<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
<mapEntry key="org.eclipse.emf.cdo.server/debug.resource" value="true"/>
<mapEntry key="com.ibm.datatools.core.ui/plugin/log" value="true"/>
@@ -337,19 +337,19 @@
<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder/time" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/tasks/time" value="false"/>
<mapEntry key="org.eclipse.emf.cdo/debug.transaction" value="true"/>
-<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener" value="false"/>
<mapEntry key="org.eclipse.emf.query/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener" value="false"/>
<mapEntry key="org.eclipse.emf.cdo.server.db/debug" value="true"/>
-<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
<mapEntry key="org.eclipse.net4j/debug.selector" value="true"/>
+<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/>
-<mapEntry key="org.eclipse.wst.sse.core/filebuffers/modelmanagement" value="false"/>
<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
+<mapEntry key="org.eclipse.wst.sse.core/filebuffers/modelmanagement" value="false"/>
+<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug/tracefilter" value=""/>
-<mapEntry key="org.eclipse.wtp.common/debug/logtracefile" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
<mapEntry key="org.eclipse.jet/debug/ext/xpathFunctions" value="false"/>
+<mapEntry key="org.eclipse.wtp.common/debug/logtracefile" value="false"/>
<mapEntry key="org.eclipse.emf.query/debug" value="true"/>
<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
@@ -365,23 +365,23 @@
<mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/>
<mapEntry key="org.eclipse.emf.cdo/debug.model" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/>
<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
+<mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/>
<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
+<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
<mapEntry key="org.eclipse.team.core/streams" value="false"/>
<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
<mapEntry key="org.eclipse.net4j.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
<mapEntry key="org.eclipse.emf.cdo/debug.session" value="true"/>
<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.adapter" value="true"/>
<mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/operations" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.adapter" value="true"/>
<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
@@ -389,51 +389,51 @@
<mapEntry key="org.eclipse.emf.transaction/debug" value="true"/>
<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
<mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/>
-<mapEntry key="org.eclipse.datatools.connectivity/connectionprofileextension" value="false"/>
<mapEntry key="org.eclipse.net4j.util.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.datatools.connectivity/connectionprofileextension" value="false"/>
<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
<mapEntry key="org.eclipse.emf.cdo.protocol/debug.model" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
<mapEntry key="org.eclipse.jem.util/debug/logtracefile" value="false"/>
-<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
<mapEntry key="org.eclipse.emf.cdo.server/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/>
-<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/>
<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/>
<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
<mapEntry key="org.eclipse.help/debug" value="true"/>
<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.emf.ocl/debug/methods/entering" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time" value="false"/>
+<mapEntry key="org.eclipse.emf.ocl/debug/methods/entering" value="false"/>
<mapEntry key="org.eclipse.net4j/debug.channel" value="true"/>
<mapEntry key="org.eclipse.emf.cdo/debug.revision" value="true"/>
<mapEntry key="org.eclipse.emf.cdo/debug.view" value="true"/>
<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria" value="10"/>
<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria" value="10"/>
<mapEntry key="org.eclipse.wst.common.environment/trace/data" value="true"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
+<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
-<mapEntry key="org.eclipse.ocl/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
<mapEntry key="org.eclipse.emf.cdo.protocol/debug" value="true"/>
-<mapEntry key="org.eclipse.datatools.connectivity/debug" value="true"/>
+<mapEntry key="org.eclipse.ocl/debug/exceptions/throwing" value="false"/>
<mapEntry key="org.eclipse.emf.cdo/debug.resource" value="true"/>
+<mapEntry key="org.eclipse.datatools.connectivity/debug" value="true"/>
<mapEntry key="org.eclipse.jet/debug/modelLoaderExtensions" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/debug" value="true"/>
<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
<mapEntry key="org.eclipse.emf.validation/debug" value="true"/>
<mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/elementstatelistener" value="false"/>
<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="com.ibm.datatools.core.ui/editor/log" value="true"/>
<mapEntry key="org.eclipse.emf.validation/debug/constraints/evaluation" value="false"/>
+<mapEntry key="com.ibm.datatools.core.ui/editor/log" value="true"/>
<mapEntry key="org.eclipse.jet/debug/xpath/compilations" value="false"/>
<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
<mapEntry key="org.eclipse.net4j/debug.buffer.stream" value="false"/>
@@ -441,23 +441,23 @@
<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
<mapEntry key="org.eclipse.jet/debug/pluginProjectMonitor" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
<mapEntry key="org.eclipse.emf.validation/debug/methods/exiting" value="false"/>
<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/>
<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/>
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/>
<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/locks" value="true"/>
+<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
<mapEntry key="org.eclipse.wst.common.environment/debug" value="true"/>
<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
<mapEntry key="org.eclipse.emf.query.ocl/debug/methods/exiting" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
<mapEntry key="org.eclipse.ocl/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling" value="false"/>
<mapEntry key="org.eclipse.emf.transaction/debug/methods/entering" value="false"/>
<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
diff --git a/plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF
index c666b26..a61a728 100644
--- a/plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF
@@ -10,15 +10,14 @@ Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.3.0,4.0.0)",
+ org.eclipse.ui;bundle-version="[3.3.0,4.0.0)",
org.eclipse.ui.ide;bundle-version="[3.3.0,4.0.0)";visibility:=reexport,
org.eclipse.emf.edit.ui;bundle-version="[2.3.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore.edit;bundle-version="[2.3.0,3.0.0)";visibility:=reexport,
org.eclipse.net4j;bundle-version="[0.8.0,0.9.0)";visibility:=reexport,
org.eclipse.net4j.util.ui;bundle-version="[0.8.0,0.9.0)";visibility:=reexport,
org.eclipse.emf.cdo;bundle-version="[0.8.0,0.9.0)";visibility:=reexport,
- org.eclipse.emf.cdo.edit;bundle-version="[0.8.0,0.9.0)",
- org.eclipse.emf.cdo.server.db;bundle-version="[0.8.0,0.9.0)",
- org.eclipse.ui
+ org.eclipse.emf.cdo.edit;bundle-version="[0.8.0,0.9.0)"
Export-Package: org.eclipse.emf.cdo.internal.ui;version="0.8.0",
org.eclipse.emf.cdo.internal.ui.actions;version="0.8.0",
org.eclipse.emf.cdo.internal.ui.dialogs;version="0.8.0",
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/bundle/OM.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/bundle/OM.java
index f3ad536..6cdedfb 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/bundle/OM.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/bundle/OM.java
@@ -97,7 +97,7 @@ public abstract class OM
TRACER.format("Starting bundle {0}", context.getBundle().getSymbolicName());
}
}
- catch (Exception ignore)
+ catch (RuntimeException ignore)
{
}
}
@@ -111,7 +111,7 @@ public abstract class OM
TRACER.format("Stopping bundle {0}", context.getBundle().getSymbolicName());
}
}
- catch (Exception ignore)
+ catch (RuntimeException ignore)
{
}
}
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/container/ManagedContainer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/container/ManagedContainer.java
index dd1234e..5217839 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/container/ManagedContainer.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/container/ManagedContainer.java
@@ -258,10 +258,11 @@ public class ManagedContainer extends Lifecycle implements IManagedContainer
element = createElement(productGroup, factoryType, description);
element = postProcessElement(productGroup, factoryType, description, element);
LifecycleUtil.activate(element);
- EventUtil.addListener(element, elementListener);
- key.setID(++maxElementID);
- elementRegistry.put(key, element);
- fireEvent(new SingleDeltaContainerEvent<Object>(this, element, IContainerDelta.Kind.ADDED));
+ putElement(key, element);
+ // EventUtil.addListener(element, elementListener);
+ // key.setID(++maxElementID);
+ // elementRegistry.put(key, element);
+ // fireEvent(new SingleDeltaContainerEvent<Object>(this, element, IContainerDelta.Kind.ADDED));
}
return element;
@@ -269,17 +270,24 @@ public class ManagedContainer extends Lifecycle implements IManagedContainer
public Object putElement(String productGroup, String factoryType, String description, Object element)
{
- ContainerEvent<Object> event = new ContainerEvent<Object>(this);
ElementKey key = new ElementKey(productGroup, factoryType, description);
+ return putElement(key, element);
+ }
+
+ protected Object putElement(ElementKey key, Object element)
+ {
+ ContainerEvent<Object> event = new ContainerEvent<Object>(this);
key.setID(++maxElementID);
Object oldElement = elementRegistry.put(key, element);
if (oldElement != null)
{
+ EventUtil.removeListener(oldElement, elementListener);
event.addDelta(oldElement, IContainerDelta.Kind.REMOVED);
}
event.addDelta(element, IContainerDelta.Kind.ADDED);
fireEvent(event);
+ EventUtil.addListener(element, elementListener);
return oldElement;
}
@@ -289,6 +297,18 @@ public class ManagedContainer extends Lifecycle implements IManagedContainer
return removeElement(key);
}
+ protected Object removeElement(ElementKey key)
+ {
+ Object element = elementRegistry.remove(key);
+ if (element != null)
+ {
+ EventUtil.removeListener(element, elementListener);
+ fireEvent(new SingleDeltaContainerEvent<Object>(this, element, IContainerDelta.Kind.REMOVED));
+ }
+
+ return element;
+ }
+
public void clearElements()
{
if (!elementRegistry.isEmpty())
@@ -296,6 +316,7 @@ public class ManagedContainer extends Lifecycle implements IManagedContainer
ContainerEvent<Object> event = new ContainerEvent<Object>(this);
for (Object element : elementRegistry.values())
{
+ EventUtil.removeListener(element, elementListener);
event.addDelta(element, IContainerDelta.Kind.REMOVED);
}
@@ -319,6 +340,7 @@ public class ManagedContainer extends Lifecycle implements IManagedContainer
boolean active = ois.readBoolean();
if (active)
{
+ // TODO Reconsider activation
LifecycleUtil.activate(element);
}
}
@@ -391,18 +413,6 @@ public class ManagedContainer extends Lifecycle implements IManagedContainer
return element;
}
- protected Object removeElement(ElementKey key)
- {
- Object element = elementRegistry.remove(key);
- if (element != null)
- {
- EventUtil.removeListener(element, elementListener);
- fireEvent(new SingleDeltaContainerEvent<Object>(this, element, IContainerDelta.Kind.REMOVED));
- }
-
- return element;
- }
-
protected void initMaxElementID()
{
maxElementID = 0L;
@@ -433,10 +443,11 @@ public class ManagedContainer extends Lifecycle implements IManagedContainer
try
{
LifecycleUtil.deactivateNoisy(element);
+ EventUtil.removeListener(element, elementListener);
}
catch (RuntimeException ex)
{
- OM.LOG.error(ex);
+ OM.LOG.warn(ex);
}
}
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/OSGiApplication.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/OSGiApplication.java
new file mode 100644
index 0000000..382e98e
--- /dev/null
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/OSGiApplication.java
@@ -0,0 +1,139 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.net4j.util.om;
+
+import org.eclipse.net4j.internal.util.bundle.OM;
+import org.eclipse.net4j.internal.util.om.trace.ContextTracer;
+
+import org.eclipse.equinox.app.IApplication;
+import org.eclipse.equinox.app.IApplicationContext;
+
+import java.util.concurrent.CountDownLatch;
+
+/**
+ * @author Eike Stepper
+ */
+public class OSGiApplication implements IApplication
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_OM, OSGiApplication.class);
+
+ private String applicationID;
+
+ private IApplicationContext context;
+
+ private CountDownLatch stopLatch;
+
+ public OSGiApplication(String applicationID)
+ {
+ this.applicationID = applicationID;
+ }
+
+ public String getApplicationID()
+ {
+ return applicationID;
+ }
+
+ public IApplicationContext getApplicationContext()
+ {
+ return context;
+ }
+
+ public boolean isRunning()
+ {
+ return stopLatch != null;
+ }
+
+ public final Object start(IApplicationContext context) throws Exception
+ {
+ this.context = context;
+ traceStart(applicationID);
+
+ try
+ {
+ doStart();
+ }
+ catch (Error error)
+ {
+ OM.LOG.error(error);
+ throw error;
+ }
+ catch (Exception ex)
+ {
+ OM.LOG.error(ex);
+ throw ex;
+ }
+
+ context.applicationRunning();
+ stopLatch = new CountDownLatch(1);
+ stopLatch.await();
+ stopLatch = null;
+
+ return EXIT_OK;
+ }
+
+ public final void stop()
+ {
+ traceStop(applicationID);
+ stopLatch.countDown();
+
+ try
+ {
+ doStop();
+ }
+ catch (Error error)
+ {
+ OM.LOG.error(error);
+ throw error;
+ }
+ catch (Exception ex)
+ {
+ OM.LOG.error(ex);
+ }
+
+ context = null;
+ }
+
+ protected void doStart() throws Exception
+ {
+ }
+
+ protected void doStop() throws Exception
+ {
+ }
+
+ public static void traceStart(String applicationID)
+ {
+ try
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Starting application {0}", applicationID);
+ }
+ }
+ catch (RuntimeException ignore)
+ {
+ }
+ }
+
+ public static void traceStop(String applicationID)
+ {
+ try
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Stopping application {0}", applicationID);
+ }
+ }
+ catch (RuntimeException ignore)
+ {
+ }
+ }
+} \ No newline at end of file