Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2018-05-27 09:30:50 +0000
committerEike Stepper2018-05-27 09:30:50 +0000
commitad54bdbd490bf43fa1cdabf4b4a0e1c6934deb8c (patch)
tree668436b90b9590b2d687ddeca1e2ba303c970068
parentbaa83a0936ece0e0edbd705fdf41b9b06b5555db (diff)
downloadcdo-ad54bdbd490bf43fa1cdabf4b4a0e1c6934deb8c.tar.gz
cdo-ad54bdbd490bf43fa1cdabf4b4a0e1c6934deb8c.tar.xz
cdo-ad54bdbd490bf43fa1cdabf4b4a0e1c6934deb8c.zip
[535161] Implement a buffer tracer
https://bugs.eclipse.org/bugs/show_bug.cgi?id=535161
-rw-r--r--features/org.eclipse.emf.cdo.all-feature/feature.xml7
-rw-r--r--features/org.eclipse.emf.cdo.server.db4o-feature/CDOServer (DB4O).launch707
-rw-r--r--features/org.eclipse.emf.cdo.server.db4o-feature/CDOServer_DB4O.launch364
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOServerApplication.java10
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBH2Audit.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CommitPerformanceTest.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingNotificationsTest.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_381472_Test.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_387564_Test.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_469301_Test.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/FailoverTest.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineDelayedTest.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockReplicationTest.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockingTest.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineTest.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/CDOClient1.launch57
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/CDOTestRecorder.launch69
-rw-r--r--plugins/org.eclipse.net4j.http.common/src/org/eclipse/net4j/http/internal/common/HTTPConnector.java7
-rw-r--r--plugins/org.eclipse.net4j.jvm/.settings/.api_filters147
-rw-r--r--plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnector.java4
-rw-r--r--plugins/org.eclipse.net4j.tcp/.settings/.api_filters208
-rw-r--r--plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ControlChannel.java17
-rw-r--r--plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ssl/SSLBuffer.java35
-rw-r--r--plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/AllTests.java4
-rw-r--r--plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/ReferenceValueMapTest.java43
-rw-r--r--plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/RollingLogTest.java142
-rw-r--r--plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/TestListener.java (renamed from plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/util/TestListener.java)3
-rw-r--r--plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/TestListener2.java (renamed from plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/util/TestListener2.java)2
-rw-r--r--plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/Timer.java (renamed from plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/util/Timer.java)2
-rw-r--r--plugins/org.eclipse.net4j.trace/.classpath13
-rw-r--r--plugins/org.eclipse.net4j.trace/.externalToolBuilders/build-aop-lib.launch15
-rw-r--r--plugins/org.eclipse.net4j.trace/.gitignore1
-rw-r--r--plugins/org.eclipse.net4j.trace/.options12
-rw-r--r--plugins/org.eclipse.net4j.trace/.project73
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/de.loskutov.anyedit.AnyEditTools.prefs18
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ajdt.core.prefs41
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ajdt.ui.prefs2
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.core.prefs395
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.launching.prefs3
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.ui.prefs119
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ltk.core.refactoring.prefs3
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.mylyn.tasks.ui.prefs4
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.mylyn.team.ui.prefs3
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.pde.api.tools.prefs95
-rw-r--r--plugins/org.eclipse.net4j.trace/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.net4j.trace/CDOServer (Buffer Tracer).launch707
-rw-r--r--plugins/org.eclipse.net4j.trace/Equinox-Aspects.url2
-rw-r--r--plugins/org.eclipse.net4j.trace/META-INF/MANIFEST.MF24
-rw-r--r--plugins/org.eclipse.net4j.trace/META-INF/aop.xml6
-rw-r--r--plugins/org.eclipse.net4j.trace/README.txt13
-rw-r--r--plugins/org.eclipse.net4j.trace/about.html70
-rw-r--r--plugins/org.eclipse.net4j.trace/aop_libs/aop.jarbin0 -> 5038 bytes
-rw-r--r--plugins/org.eclipse.net4j.trace/build-aop-lib.ant26
-rw-r--r--plugins/org.eclipse.net4j.trace/build.properties30
-rw-r--r--plugins/org.eclipse.net4j.trace/component.ext17
-rw-r--r--plugins/org.eclipse.net4j.trace/plugin.properties11
-rw-r--r--plugins/org.eclipse.net4j.trace/plugin.xml24
-rw-r--r--plugins/org.eclipse.net4j.trace/pom.xml31
-rw-r--r--plugins/org.eclipse.net4j.trace/src-aop/org/eclipse/net4j/internal/trace/Aspect.aj97
-rw-r--r--plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/BufferTracer.java230
-rw-r--r--plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/ElementCounters.java84
-rw-r--r--plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/LogAnalyzer.java37
-rw-r--r--plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/Logger.java160
-rw-r--r--plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/bundle/OM.java44
-rw-r--r--plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/trace/Element.java285
-rw-r--r--plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/trace/Listener.java57
-rw-r--r--plugins/org.eclipse.net4j.util/.settings/.api_filters8
-rw-r--r--plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/RollingLog.java448
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java98
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferInputStream.java8
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferOutputStream.java6
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java70
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java7
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/Channel.java48
-rw-r--r--releng/org.eclipse.emf.cdo.releng.parent/plugins/pom.xml1
-rw-r--r--releng/org.eclipse.emf.cdo.releng.parent/tp/org.eclipse.emf.cdo.releng.tp.target4
-rw-r--r--releng/org.eclipse.emf.cdo.releng/CDO.setup63
79 files changed, 4745 insertions, 659 deletions
diff --git a/features/org.eclipse.emf.cdo.all-feature/feature.xml b/features/org.eclipse.emf.cdo.all-feature/feature.xml
index e00cd7c4cf..0b7afe440f 100644
--- a/features/org.eclipse.emf.cdo.all-feature/feature.xml
+++ b/features/org.eclipse.emf.cdo.all-feature/feature.xml
@@ -141,6 +141,13 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.net4j.trace"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
<fragment
id="org.eclipse.emf.cdo.ecore.retrofit"
download-size="0"
diff --git a/features/org.eclipse.emf.cdo.server.db4o-feature/CDOServer (DB4O).launch b/features/org.eclipse.emf.cdo.server.db4o-feature/CDOServer (DB4O).launch
new file mode 100644
index 0000000000..ec0e99548b
--- /dev/null
+++ b/features/org.eclipse.emf.cdo.server.db4o-feature/CDOServer (DB4O).launch
@@ -0,0 +1,707 @@
+<?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.server,org.eclipse.emf.cdo.server.db,org.eclipse.net4j,org.eclipse.net4j.db,org.eclipse.net4j.db.derby,org.eclipse.net4j.http.common,org.eclipse.net4j.http.server,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 (DB4O)"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../ws-cdo.server"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+<mapEntry key="[run]" value="org.eclipse.pde.ui.RuntimeWorkbench"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}&#13;&#10;-debug&#13;&#10;-console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m&#13;&#10;-Xmx1g&#13;&#10;-Ddebug=true&#13;&#10;-Dnet4j.config=&quot;${project_loc:/org.eclipse.emf.cdo.server.db4o-feature}/rootfiles/configuration&quot;&#13;&#10;-Dorg.eclipse.emf.cdo.server.browser.port=7777&#13;&#10;-Dorg.osgi.service.http.port=8080&#10;-Dosgi.console.enable.builtin=true"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<stringAttribute key="selectedPlugin" value="org.eclipse.emf.cdo"/>
+<stringAttribute key="selected_target_plugins" value="com.db4o@default:default,com.ibm.icu@default:default,com.mysql.jdbc@default:default,javax.servlet@default:default,org.apache.derby@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.orbit.mongodb@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.team.core@default:default,org.h2@default:default,org.hsqldb@default:default,org.postgresql@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.cdo.common@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.cdo.examples.company@default:default,org.eclipse.emf.cdo.server.db4o@default:default,org.eclipse.emf.cdo.server.db@default:default,org.eclipse.emf.cdo.server.mongodb@default:default,org.eclipse.emf.cdo.server.net4j@default:default,org.eclipse.emf.cdo.server@default:default,org.eclipse.emf.cdo@default:default,org.eclipse.net4j.db.derby@default:default,org.eclipse.net4j.db.h2@default:default,org.eclipse.net4j.db.hsqldb@default:default,org.eclipse.net4j.db.jdbc@default:default,org.eclipse.net4j.db.mysql@default:default,org.eclipse.net4j.db.postgresql@default:default,org.eclipse.net4j.db@default:default,org.eclipse.net4j.tcp@default:default,org.eclipse.net4j.util@default:default,org.eclipse.net4j@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
+<booleanAttribute key="tracing" value="true"/>
+<mapAttribute key="tracingOptions">
+<mapEntry key="org.aspectj.osgi.service.weaving/debug" value="false"/>
+<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
+<mapEntry key="org.eclipse.core.expressions/debug/TypeExtensionManager" value="false"/>
+<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
+<mapEntry key="org.eclipse.core.net/debug" value="false"/>
+<mapEntry key="org.eclipse.core.net/systemproviders" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
+<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
+<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
+<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
+<mapEntry key="org.eclipse.core.resources/history" value="false"/>
+<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
+<mapEntry key="org.eclipse.core.resources/notifications" value="false"/>
+<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
+<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
+<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
+<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
+<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
+<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
+<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/perf/success" 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.core.runtime/url/debug/cachecopy" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/breadcrumb" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/memory/dynamicLoading" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/breakpointDeltas" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/presentationId" value=""/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/stateSaveRestore" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
+<mapEntry key="org.eclipse.e4.core.contexts/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.core.contexts/debug/listeners" value="false"/>
+<mapEntry key="org.eclipse.e4.core.contexts/debug/names" value="false"/>
+<mapEntry key="org.eclipse.e4.core.di/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.core.services/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.core.services/debug/injector" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/eclipse.context" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/eclipse.context.verbose" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/focus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/menus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/renderer" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/workbench" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/eclipse.context" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/eclipse.context.verbose" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/focus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/menus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/renderer" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/workbench" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.admin/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.admin/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common.db/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/debug.id" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/debug.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/perf" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/perf.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/perf.revision.reading" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/perf.revision.writing" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.compare/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn.ui/debug.object" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn.util/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn.util/debug.object" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.object" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.object.statemachine" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.object.store" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.session" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.session.model" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.session.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.view" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.view.audit" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.view.transaction" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/load.resource.before.notification" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.examples/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.explorer.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.explorer/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.expressions/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/perf" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/perf.revision" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/perf.revision.loading" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.security/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.admin/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.admin/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.db/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.db/debug.units" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.embedded/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.hibernate/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.lissome/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.lissome/debug.index" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.lissome/debug.journal" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.lissome/debug.vob" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.mongodb/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.repository" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.resource" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.session" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.store" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.transaction" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.types" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.objectivity/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.repository" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.resource" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.session" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.store" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.transaction" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.types" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.all/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.db/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.lissome/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.mongodb/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.objectivity/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer.repository/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer.workspace.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer.workspace/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui.admin/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui.compare/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui.shared/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui.team/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui/test" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.workspace/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.object" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.object.statemachine" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.object.store" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.session" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.session.model" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.session.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.view" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.view.audit" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.view.transaction" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/load.resource.before.notification" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/locking" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/transactions" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.validation/debug/cache" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/constraints" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/constraints/disabled" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/constraints/evaluation" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/listeners" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/parsers" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/providers" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/xml" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.equinox.common/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.common/progress_monitors" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/certificatechecker/unsigned" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/certificatechecker/untrusted" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/engine/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/enginesession/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/profileregistry/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
+<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
+<mapEntry key="org.eclipse.equinox.security.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.security.ui/debug/storage" value="false"/>
+<mapEntry key="org.eclipse.equinox.security/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.security/debug/loginFramework" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/bundle" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/bundleName" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/cache" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/supplements" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/weave" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/commands/admin" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/commands/execute" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/commands/redo" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/commands/undo" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/plugin/ondemand/loading" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/services/activate" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/services/config" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/services/execute" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/services/config" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/actions/admin" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/actions/repeat" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/actions/run" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/resource/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/dnd/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/filter/canonical" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/filter/events" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/filter/persistencemgr" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/dnd/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/dnd/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/events/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/events/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/resources" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/model/operations" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/dnd/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
+<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
+<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
+<mapEntry key="org.eclipse.help/debug" value="true"/>
+<mapEntry key="org.eclipse.help/debug/context" value="false"/>
+<mapEntry key="org.eclipse.help/debug/search" value="false"/>
+<mapEntry key="org.eclipse.help/debug/toc" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/compilationEnv" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFileMaps" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.pluggable.core/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/builder/stats" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/failure" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/dom/ast" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/dom/ast/throw" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/dom/rewrite" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/formatter" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/freespacetest" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/indexer" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/insertions" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/locks" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/logsizemegs" value="0"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/pagecache" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/scheduling" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/selftest" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/space" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/timing" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/indexmanager/advanced" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/classpath" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/insertions" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/invalid_archives" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
+<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
+<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
+<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
+<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
+<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
+<mapEntry key="org.eclipse.jdt.debug/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/astEvaluations" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/astEvaluations/callingThreads" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/jdiEvents" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/jdiRequestTimes" value="false"/>
+<mapEntry key="org.eclipse.jdt.launching/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.launching/debug/classpath/jreContainer" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/BreadcrumbItemDropDown" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
+<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
+<mapEntry key="org.eclipse.jface.text/assert/TextSelection/validConstructorArguments" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/AbstractInformationControlManager" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
+<mapEntry key="org.eclipse.jface/debug" value="true"/>
+<mapEntry key="org.eclipse.jface/debug/bidiUtils" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/dialog/noparent" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptor2x" value="true"/>
+<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptor2xPngForGif" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptorDirectly" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/logURLImageDescriptorMissing2x" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/trace/URLImageDescriptor" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/viewers/equalElements" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/viewers/reentrantViewerCalls" value="false"/>
+<mapEntry key="org.eclipse.jface/newlook/preferences/showNewLook" value="false"/>
+<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
+<mapEntry key="org.eclipse.jface/trace/toolbarDisposal" value="false"/>
+<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
+<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
+<mapEntry key="org.eclipse.net4j.buddies.chat.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies.chat/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies.common/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies.server/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.derby/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.derby/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.h2/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.h2/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.hsqldb/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.hsqldb/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.mysql/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.oracle/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.oracle/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.postgresql/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.postgresql/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.debug/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.examples/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.http.common/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.http.server/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.http/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.net4j.jvm/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.tests/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.acceptor" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.buffer" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.buffer.stream" value="false"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.channel" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.connector" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.signal" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/open.channel.timeout" value="10000"/>
+<mapEntry key="org.eclipse.net4j.trace/set.signal.thread.name" value="false"/>
+<mapEntry key="org.eclipse.net4j.ui.shared/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.concurrency" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.om.monitor" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.acceptor" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.buffer" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.buffer.stream" value="false"/>
+<mapEntry key="org.eclipse.net4j/debug.channel" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.connector" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.signal" value="true"/>
+<mapEntry key="org.eclipse.net4j/open.channel.timeout" value="10000"/>
+<mapEntry key="org.eclipse.net4j/set.signal.thread.name" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug" value="true"/>
+<mapEntry key="org.eclipse.ocl/debug/evaluation" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/parsing" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/bundleFile" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/cachedmanifest" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/location" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/objectPool/adds" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/objectPool/dups" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/storage" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/systemBundle" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
+<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
+<mapEntry key="org.eclipse.osgi/monitor/lazy" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/hooks" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/providers" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/report" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/roots" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/uses" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apianalyzer" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apidescription" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apifilterstore" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apiprofile" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/builder" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/classfilevisitor" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/delta" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/descriptor/framework" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/pluginworkspacecomponent" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/profilemanager" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/search" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/tagscanner" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/usereportconverter" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/workspacedeltaprocessor" value="false"/>
+<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
+<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
+<mapEntry key="org.eclipse.pde.core/model" value="false"/>
+<mapEntry key="org.eclipse.pde.core/target/profile" value="false"/>
+<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
+<mapEntry key="org.eclipse.pde.ds.annotations/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.ds.annotations/ds-annotation-builder" value="false"/>
+<mapEntry key="org.eclipse.pde.ds.annotations/ds-annotation-builder/processor" value="false"/>
+<mapEntry key="org.eclipse.search/perf" value="false"/>
+<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
+<mapEntry key="org.eclipse.team.core/debug" value="false"/>
+<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
+<mapEntry key="org.eclipse.team.core/streams" value="false"/>
+<mapEntry key="org.eclipse.team.core/threading" value="false"/>
+<mapEntry key="org.eclipse.team.ui/compare_editor_input" value="false"/>
+<mapEntry key="org.eclipse.team.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.team.ui/dnd" value="false"/>
+<mapEntry key="org.eclipse.team.ui/history" value="false"/>
+<mapEntry key="org.eclipse.team.ui/syncmodels" value="false"/>
+<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.forms/debug" value="true"/>
+<mapEntry key="org.eclipse.ui.forms/debug/focus" value="true"/>
+<mapEntry key="org.eclipse.ui.forms/debug/text" value="true"/>
+<mapEntry key="org.eclipse.ui.forms/debug/textsize" value="true"/>
+<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/markers" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/>
+<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
+<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
+<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
+<mapEntry key="org.eclipse.ui.intro/debug/toolbar" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/flags/noBrowser" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
+<mapEntry key="org.eclipse.ui.monitoring/debug/event_monitor" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/dnd" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/resolution" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/setup" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/sort" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/viewermap" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/perf/explorer/createPartControl" value="1300"/>
+<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.workbench/debug/e4" value="false"/>
+<mapEntry key="org.eclipse.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/swtdebugglobal" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/workingSets" value="false"/>
+<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/earlyStartup" value="100"/>
+<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
+<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
+<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/perspectives" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
+<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
+</mapAttribute>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useNamedJRE" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/features/org.eclipse.emf.cdo.server.db4o-feature/CDOServer_DB4O.launch b/features/org.eclipse.emf.cdo.server.db4o-feature/CDOServer_DB4O.launch
deleted file mode 100644
index c0f7082bdb..0000000000
--- a/features/org.eclipse.emf.cdo.server.db4o-feature/CDOServer_DB4O.launch
+++ /dev/null
@@ -1,364 +0,0 @@
-<?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.server,org.eclipse.emf.cdo.server.db,org.eclipse.net4j,org.eclipse.net4j.db,org.eclipse.net4j.db.derby,org.eclipse.net4j.http.common,org.eclipse.net4j.http.server,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_DB4O"/>
-<booleanAttribute key="default" value="false"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../ws-cdo.server"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
-<mapEntry key="[run]" value="org.eclipse.pde.ui.RuntimeWorkbench"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}&#13;&#10;-debug&#13;&#10;-console"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m&#13;&#10;-Xmx1g&#13;&#10;-Ddebug=true&#13;&#10;-Dnet4j.config=&quot;${project_loc:/org.eclipse.emf.cdo.server.db4o-feature}/rootfiles/configuration&quot;&#13;&#10;-Dorg.eclipse.emf.cdo.server.browser.port=7777&#13;&#10;-Dorg.osgi.service.http.port=8080&#10;-Dosgi.console.enable.builtin=true"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<stringAttribute key="selectedPlugin" value="org.eclipse.emf.cdo"/>
-<stringAttribute key="selected_target_plugins" value="com.db4o@default:default,com.ibm.icu@default:default,com.mysql.jdbc@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.derby@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.orbit.mongodb@default:default,org.eclipse.osgi.compatibility.state@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.team.core@default:default,org.h2@default:default,org.hsqldb@default:default,org.postgresql@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.cdo.common@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:default,org.eclipse.emf.cdo.examples.company@default:default,org.eclipse.emf.cdo.server.db4o@default:default,org.eclipse.emf.cdo.server.db@default:default,org.eclipse.emf.cdo.server.mongodb@default:default,org.eclipse.emf.cdo.server.net4j@default:default,org.eclipse.emf.cdo.server@default:default,org.eclipse.emf.cdo@default:default,org.eclipse.net4j.db.derby@default:default,org.eclipse.net4j.db.h2@default:default,org.eclipse.net4j.db.hsqldb@default:default,org.eclipse.net4j.db.jdbc@default:default,org.eclipse.net4j.db.mysql@default:default,org.eclipse.net4j.db.postgresql@default:default,org.eclipse.net4j.db@default:default,org.eclipse.net4j.tcp@default:default,org.eclipse.net4j.util@default:default,org.eclipse.net4j@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
-<booleanAttribute key="tracing" value="true"/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
-<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
-<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
-<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
-<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
-<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/perf/success" 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.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
-<mapEntry key="org.eclipse.emf.cdo.common/debug" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.common/debug.model" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.common/debug.protocol" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.common/debug.revision" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.common/perf" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.common/perf.revision" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.common/perf.revision.reading" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.common/perf.revision.writing" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.examples/debug" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.server.db/debug" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.server/debug" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.server/debug.protocol" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.server/debug.repository" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.server/debug.resource" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.server/debug.revision" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.server/debug.session" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.server/debug.store" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.server/debug.types" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.adapter" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.model" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.object" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.protocol" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.repository" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.resource" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.revision" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.session" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.transaction" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.util" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/debug.view" value="true"/>
-<mapEntry key="org.eclipse.emf.cdo/perf" value="false"/>
-<mapEntry key="org.eclipse.emf.cdo/perf.revision" value="false"/>
-<mapEntry key="org.eclipse.emf.cdo/perf.revision.loading" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.help/debug/search" value="false"/>
-<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
-<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
-<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
-<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
-<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
-<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
-<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
-<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
-<mapEntry key="org.eclipse.net4j.buddies.chat.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.buddies.chat/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.buddies.common/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.buddies.server/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.buddies.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.buddies/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.db.derby/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.db.derby/debug.sql" value="true"/>
-<mapEntry key="org.eclipse.net4j.db.hsqldb/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.db.hsqldb/debug.sql" value="true"/>
-<mapEntry key="org.eclipse.net4j.db.mysql/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/>
-<mapEntry key="org.eclipse.net4j.db/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/>
-<mapEntry key="org.eclipse.net4j.debug/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.examples/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.fileshare.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.fileshare/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/>
-<mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/>
-<mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/>
-<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/>
-<mapEntry key="org.eclipse.net4j.jvm/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.util.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.util/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j.util/debug.concurrency" value="true"/>
-<mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/>
-<mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/>
-<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/>
-<mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/>
-<mapEntry key="org.eclipse.net4j/debug" value="true"/>
-<mapEntry key="org.eclipse.net4j/debug.acceptor" value="true"/>
-<mapEntry key="org.eclipse.net4j/debug.buffer" value="true"/>
-<mapEntry key="org.eclipse.net4j/debug.buffer.stream" value="false"/>
-<mapEntry key="org.eclipse.net4j/debug.channel" value="true"/>
-<mapEntry key="org.eclipse.net4j/debug.connector" value="true"/>
-<mapEntry key="org.eclipse.net4j/debug.selector" value="true"/>
-<mapEntry key="org.eclipse.net4j/debug.signal" value="true"/>
-<mapEntry key="org.eclipse.net4j/perf" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/>
-<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
-<mapEntry key="org.eclipse.pde.core/cache" value="false"/>
-<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
-<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
-<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
-<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.team.core/threading" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
-<mapEntry key="org.eclipse.ui.intro/flags/noBrowser" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
-<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/workingSets" value="false"/>
-<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
-<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
-<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
-<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
-<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
-<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
-<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
-<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
-<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
-<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
-<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
-<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-</mapAttribute>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" 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 1a4b660bdc..3b6f2165cb 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
@@ -58,11 +58,16 @@ public class CDOServerApplication extends OSGiApplication
return (RepositoryConfigurator)container.getElement(RepositoryConfigurator.Factory.PRODUCT_GROUP, type, description);
}
+ protected IManagedContainer getApplicationContainer()
+ {
+ return getContainer();
+ }
+
@Override
protected void doStart() throws Exception
{
super.doStart();
- IManagedContainer container = getContainer();
+ IManagedContainer container = getApplicationContainer();
OM.LOG.info(Messages.getString("CDOServerApplication.1")); //$NON-NLS-1$
File configFile = OMPlatform.INSTANCE.getConfigFile("cdo-server.xml"); //$NON-NLS-1$
@@ -116,6 +121,9 @@ public class CDOServerApplication extends OSGiApplication
}
}
+ IManagedContainer container = getApplicationContainer();
+ container.deactivate();
+
OM.LOG.info(Messages.getString("CDOServerApplication.8")); //$NON-NLS-1$
super.doStop();
}
diff --git a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBH2Audit.java b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBH2Audit.java
index 3516d79e5c..e6ff37489c 100644
--- a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBH2Audit.java
+++ b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBH2Audit.java
@@ -30,7 +30,8 @@ public class AllTestsDBH2Audit extends DBConfigs
public static void initConfigSuites(ConfigTestSuite suite, TestSuite parent, IDGenerationLocation idGenerationLocation)
{
// Without ranges
- suite.addScenario(parent, new H2Config().supportingAudits(true).idGenerationLocation(idGenerationLocation), JVM, NATIVE);
+ // suite.addScenario(parent, new H2Config().supportingAudits(true).idGenerationLocation(idGenerationLocation), JVM,
+ // NATIVE);
// With ranges
suite.addScenario(parent, new H2Config().supportingAudits(true).idGenerationLocation(idGenerationLocation).withRanges(true), JVM, NATIVE);
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java
index 937088f6cc..425260e4a0 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java
@@ -26,7 +26,6 @@ import org.eclipse.emf.cdo.spi.server.InternalStore;
import org.eclipse.emf.cdo.spi.server.InternalSynchronizableRepository;
import org.eclipse.emf.cdo.tests.config.IRepositoryConfig;
import org.eclipse.emf.cdo.tests.config.impl.RepositoryConfig.OfflineConfig;
-import org.eclipse.emf.cdo.tests.util.TestListener;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.util.CDOUtil;
import org.eclipse.emf.cdo.util.CommitException;
@@ -35,6 +34,7 @@ import org.eclipse.net4j.util.WrappedException;
import org.eclipse.net4j.util.concurrent.ConcurrencyUtil;
import org.eclipse.net4j.util.event.IEvent;
import org.eclipse.net4j.util.io.IOUtil;
+import org.eclipse.net4j.util.tests.TestListener;
import org.eclipse.emf.ecore.EObject;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CommitPerformanceTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CommitPerformanceTest.java
index abeee22db4..6074aa563c 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CommitPerformanceTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CommitPerformanceTest.java
@@ -18,9 +18,10 @@ import org.eclipse.emf.cdo.tests.model1.Category;
import org.eclipse.emf.cdo.tests.model1.Company;
import org.eclipse.emf.cdo.tests.model1.Product1;
import org.eclipse.emf.cdo.tests.model1.VAT;
-import org.eclipse.emf.cdo.tests.util.Timer;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.net4j.util.tests.Timer;
+
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingNotificationsTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingNotificationsTest.java
index 90dcd97b2e..afa4ce1bc2 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingNotificationsTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingNotificationsTest.java
@@ -22,7 +22,6 @@ import org.eclipse.emf.cdo.eresource.CDOResource;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.tests.config.IRepositoryConfig;
import org.eclipse.emf.cdo.tests.model1.Company;
-import org.eclipse.emf.cdo.tests.util.TestListener2;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.util.CDOUtil;
import org.eclipse.emf.cdo.util.CommitException;
@@ -31,6 +30,7 @@ import org.eclipse.emf.cdo.view.CDOViewLocksChangedEvent;
import org.eclipse.net4j.util.concurrent.IRWLockManager.LockType;
import org.eclipse.net4j.util.event.IEvent;
+import org.eclipse.net4j.util.tests.TestListener2;
import java.util.List;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_381472_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_381472_Test.java
index 97e663c35e..729e9ae0a5 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_381472_Test.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_381472_Test.java
@@ -29,8 +29,6 @@ import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesAfter;
import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.Requires;
import org.eclipse.emf.cdo.tests.config.impl.SessionConfig;
-import org.eclipse.emf.cdo.tests.util.TestListener;
-import org.eclipse.emf.cdo.tests.util.TestListener.EventAssertion;
import org.eclipse.net4j.connector.IConnector;
import org.eclipse.net4j.util.container.IContainerDelta;
@@ -39,6 +37,8 @@ import org.eclipse.net4j.util.container.IManagedContainer;
import org.eclipse.net4j.util.factory.ProductCreationException;
import org.eclipse.net4j.util.io.IOUtil;
import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
+import org.eclipse.net4j.util.tests.TestListener;
+import org.eclipse.net4j.util.tests.TestListener.EventAssertion;
import java.util.Collections;
import java.util.HashMap;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_387564_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_387564_Test.java
index 94c70b95d6..03b603e9c0 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_387564_Test.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_387564_Test.java
@@ -21,7 +21,6 @@ import org.eclipse.emf.cdo.tests.AbstractCDOTest;
import org.eclipse.emf.cdo.tests.config.IRepositoryConfig;
import org.eclipse.emf.cdo.tests.config.impl.SessionConfig;
import org.eclipse.emf.cdo.tests.model1.Company;
-import org.eclipse.emf.cdo.tests.util.TestListener2;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.util.CDOUtil;
import org.eclipse.emf.cdo.util.CommitException;
@@ -32,6 +31,7 @@ import org.eclipse.emf.cdo.view.CDOViewLocksChangedEvent;
import org.eclipse.net4j.util.event.IEvent;
import org.eclipse.net4j.util.io.IOUtil;
+import org.eclipse.net4j.util.tests.TestListener2;
import org.eclipse.emf.spi.cdo.InternalCDOSession;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_469301_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_469301_Test.java
index 1918e6dd97..f00b951b1b 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_469301_Test.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_469301_Test.java
@@ -20,7 +20,6 @@ import org.eclipse.emf.cdo.server.IView;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.tests.AbstractCDOTest;
import org.eclipse.emf.cdo.tests.model1.Company;
-import org.eclipse.emf.cdo.tests.util.TestListener2;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.util.CDOUtil;
import org.eclipse.emf.cdo.view.CDOView;
@@ -28,6 +27,7 @@ import org.eclipse.emf.cdo.view.CDOViewLocksChangedEvent;
import org.eclipse.net4j.util.concurrent.IRWLockManager.LockType;
import org.eclipse.net4j.util.concurrent.RWOLockManager.LockState;
+import org.eclipse.net4j.util.tests.TestListener2;
import org.eclipse.emf.spi.cdo.InternalCDOObject;
import org.eclipse.emf.spi.cdo.InternalCDOTransaction;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/FailoverTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/FailoverTest.java
index 689f970803..1b70959a8e 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/FailoverTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/FailoverTest.java
@@ -16,12 +16,12 @@ import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.spi.server.InternalRepository;
import org.eclipse.emf.cdo.tests.AbstractSyncingTest;
import org.eclipse.emf.cdo.tests.model1.Company;
-import org.eclipse.emf.cdo.tests.util.TestListener;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.net4j.acceptor.IAcceptor;
import org.eclipse.net4j.util.container.IManagedContainer;
import org.eclipse.net4j.util.io.IOUtil;
+import org.eclipse.net4j.util.tests.TestListener;
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineDelayedTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineDelayedTest.java
index 0e55e4b157..7dcffa2f0f 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineDelayedTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineDelayedTest.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.spi.server.InternalRepository;
import org.eclipse.emf.cdo.tests.AbstractSyncingTest;
import org.eclipse.emf.cdo.tests.model1.Company;
-import org.eclipse.emf.cdo.tests.util.TestListener;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.net4j.util.event.IEvent;
+import org.eclipse.net4j.util.tests.TestListener;
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockReplicationTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockReplicationTest.java
index 4853c27447..243372c804 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockReplicationTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockReplicationTest.java
@@ -17,12 +17,13 @@ import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.spi.server.InternalRepository;
import org.eclipse.emf.cdo.tests.AbstractSyncingTest;
import org.eclipse.emf.cdo.tests.model1.Company;
-import org.eclipse.emf.cdo.tests.util.TestListener2;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.util.CDOUtil;
import org.eclipse.emf.cdo.util.CommitException;
import org.eclipse.emf.cdo.view.CDOViewLocksChangedEvent;
+import org.eclipse.net4j.util.tests.TestListener2;
+
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockingTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockingTest.java
index b470da4524..9153cb6774 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockingTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineLockingTest.java
@@ -19,13 +19,13 @@ import org.eclipse.emf.cdo.session.CDOSessionInvalidationEvent;
import org.eclipse.emf.cdo.session.CDOSessionLocksChangedEvent;
import org.eclipse.emf.cdo.tests.AbstractSyncingTest;
import org.eclipse.emf.cdo.tests.model1.Company;
-import org.eclipse.emf.cdo.tests.util.TestListener2;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.util.CDOUtil;
import org.eclipse.emf.cdo.view.CDOView;
import org.eclipse.emf.cdo.view.CDOViewLocksChangedEvent;
import org.eclipse.net4j.util.concurrent.IRWLockManager.LockType;
+import org.eclipse.net4j.util.tests.TestListener2;
/**
* @author Caspar De Groot
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineTest.java
index b02cdc7535..0732d3e5e8 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineTest.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/offline/OfflineTest.java
@@ -31,13 +31,13 @@ import org.eclipse.emf.cdo.tests.bundle.OM;
import org.eclipse.emf.cdo.tests.model1.Company;
import org.eclipse.emf.cdo.tests.model3.File;
import org.eclipse.emf.cdo.tests.model3.Image;
-import org.eclipse.emf.cdo.tests.util.TestListener;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent;
import org.eclipse.net4j.util.event.IEvent;
import org.eclipse.net4j.util.io.IOUtil;
import org.eclipse.net4j.util.om.monitor.NotifyingMonitor.ProgressEvent;
+import org.eclipse.net4j.util.tests.TestListener;
import org.eclipse.emf.spi.cdo.DefaultCDOMerger;
diff --git a/plugins/org.eclipse.emf.cdo.ui/CDOClient1.launch b/plugins/org.eclipse.emf.cdo.ui/CDOClient1.launch
index 8a40d023e6..645d0657e5 100644
--- a/plugins/org.eclipse.emf.cdo.ui/CDOClient1.launch
+++ b/plugins/org.eclipse.emf.cdo.ui/CDOClient1.launch
@@ -1,37 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
<setAttribute key="additional_plugins">
-<setEntry value="banking.edit:1.0.0.qualifier:default:true"/>
-<setEntry value="banking:0.1.0.qualifier:default:true"/>
<setEntry value="javax.servlet:3.1.0.v201410161800:default:false"/>
-<setEntry value="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit:2.0.400.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.edit:1.0.400.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.edit:1.0.400.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.dawn.examples.acore.edit:1.0.500.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.edit:4.4.100.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.examples.company.edit:4.0.500.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.expressions.edit:4.3.200.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.security.edit:4.3.200.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.compare.edit:4.2.1.201608311750:default:true"/>
-<setEntry value="org.eclipse.emf.databinding.edit:1.3.0.v20160526-0356:default:true"/>
-<setEntry value="org.eclipse.emf.ecore.edit:2.9.0.v20160526-0356:default:true"/>
-<setEntry value="org.eclipse.emf.ecore.editor:2.12.0.v20160526-0356:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.categorization.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.compoundcontrol.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.custom.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.group.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.horizontal.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.label.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.rule.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.stack.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.table.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.template.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.treemasterdetail.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.vertical.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.edit:2.12.0.v20160526-0356:default:true"/>
-<setEntry value="org.eclipse.gmf.runtime.notation.edit:1.7.0.201606071631:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.edit:4.4.200.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.examples.company.edit:4.0.600.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.expressions.edit:4.3.300.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.security.edit:4.4.100.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.compare.edit:4.3.1.201805161152:default:true"/>
+<setEntry value="org.eclipse.emf.databinding.edit:1.4.0.v20180130-1145:default:true"/>
+<setEntry value="org.eclipse.emf.ecore.edit:2.10.0.v20180421-0731:default:true"/>
+<setEntry value="org.eclipse.emf.ecore.editor:2.14.0.v20180212-1111:default:true"/>
+<setEntry value="org.eclipse.emf.edit:2.13.0.v20180421-1151:default:true"/>
+<setEntry value="org.eclipse.gmf.runtime.notation.edit:1.7.0.201805221301:default:true"/>
</setAttribute>
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="askclear" value="true"/>
@@ -75,7 +55,6 @@
<setEntry value="org.eclipse.emf.cdo.doc:default"/>
<setEntry value="org.eclipse.emf.cdo.epp:default"/>
<setEntry value="org.eclipse.emf.cdo.examples:default"/>
-<setEntry value="org.eclipse.emf.cdo.explorer:default"/>
<setEntry value="org.eclipse.emf.cdo.license:default"/>
<setEntry value="org.eclipse.emf.cdo.migrator:default"/>
<setEntry value="org.eclipse.emf.cdo.server.db:default"/>
@@ -83,22 +62,6 @@
<setEntry value="org.eclipse.emf.cdo:default"/>
<setEntry value="org.eclipse.emf.common:default"/>
<setEntry value="org.eclipse.emf.ecore:default"/>
-<setEntry value="org.eclipse.emf.ecp.emfforms.runtime.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.categorization.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.compoundcontrol.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.custom.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.group.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.horizontal.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.label.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.rule.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.stack.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.table.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.template.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.treemasterdetail.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.unset.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.validation.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.view.vertical.feature:default"/>
-<setEntry value="org.eclipse.emf.ecp.viewmodel.feature:default"/>
<setEntry value="org.eclipse.equinox.executable:default"/>
<setEntry value="org.eclipse.equinox.p2.core.feature:default"/>
<setEntry value="org.eclipse.equinox.p2.extras.feature:default"/>
diff --git a/plugins/org.eclipse.emf.cdo.ui/CDOTestRecorder.launch b/plugins/org.eclipse.emf.cdo.ui/CDOTestRecorder.launch
index 5c949a23ac..e350a8d794 100644
--- a/plugins/org.eclipse.emf.cdo.ui/CDOTestRecorder.launch
+++ b/plugins/org.eclipse.emf.cdo.ui/CDOTestRecorder.launch
@@ -2,42 +2,38 @@
<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
<setAttribute key="additional_plugins">
<setEntry value="javax.servlet:3.1.0.v201410161800:default:false"/>
-<setEntry value="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit:2.0.300.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.edit:1.0.300.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.edit:1.0.400.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.dawn.examples.acore.edit:1.0.500.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.edit:4.4.100.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.examples.company.edit:4.0.500.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.expressions.edit:4.3.200.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.security.edit:4.3.200.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.tests.mango:3.0.600.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.tests.model1:3.0.600.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.tests.model2:3.0.600.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.tests.model3:3.0.600.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.tests.model4:3.0.600.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.tests.model4interfaces:3.0.600.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.tests.model5:3.0.600.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.cdo.tests.model6:4.0.400.qualifier:default:true"/>
-<setEntry value="org.eclipse.emf.compare.edit:4.2.1.201608311750:default:true"/>
-<setEntry value="org.eclipse.emf.databinding.edit:1.3.0.v20160526-0356:default:true"/>
-<setEntry value="org.eclipse.emf.ecore.edit:2.9.0.v20160526-0356:default:true"/>
-<setEntry value="org.eclipse.emf.ecore.editor:2.12.0.v20160526-0356:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.categorization.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.compoundcontrol.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.custom.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.group.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.horizontal.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.label.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.rule.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.stack.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.table.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.template.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.treemasterdetail.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.ecp.view.vertical.model.edit:1.10.0.20160912-1709:default:true"/>
-<setEntry value="org.eclipse.emf.edit:2.12.0.v20160526-0356:default:true"/>
-<setEntry value="org.eclipse.gmf.runtime.notation.edit:1.7.0.201606071631:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.edit:4.4.200.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.examples.company.edit:4.0.600.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.expressions.edit:4.3.300.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.security.edit:4.4.100.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.tests.mango:3.0.700.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.tests.model1:3.0.700.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.tests.model2:3.0.700.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.tests.model3:3.0.700.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.tests.model4:3.0.700.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.tests.model4interfaces:3.0.700.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.tests.model5:3.0.700.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.cdo.tests.model6:4.0.500.qualifier:default:true"/>
+<setEntry value="org.eclipse.emf.compare.edit:4.3.1.201805161152:default:true"/>
+<setEntry value="org.eclipse.emf.databinding.edit:1.4.0.v20180130-1145:default:true"/>
+<setEntry value="org.eclipse.emf.ecore.edit:2.10.0.v20180421-0731:default:true"/>
+<setEntry value="org.eclipse.emf.ecore.editor:2.14.0.v20180212-1111:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.categorization.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.compoundcontrol.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.custom.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.group.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.horizontal.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.label.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.rule.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.stack.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.table.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.template.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.treemasterdetail.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.ecp.view.vertical.model.edit:1.17.0.20180522-1529:default:true"/>
+<setEntry value="org.eclipse.emf.edit:2.13.0.v20180421-1151:default:true"/>
+<setEntry value="org.eclipse.gmf.runtime.notation.edit:1.7.0.201805221301:default:true"/>
</setAttribute>
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="askclear" value="true"/>
@@ -81,7 +77,6 @@
<setEntry value="org.eclipse.emf.cdo.doc:default"/>
<setEntry value="org.eclipse.emf.cdo.epp:default"/>
<setEntry value="org.eclipse.emf.cdo.examples:default"/>
-<setEntry value="org.eclipse.emf.cdo.explorer:default"/>
<setEntry value="org.eclipse.emf.cdo.license:default"/>
<setEntry value="org.eclipse.emf.cdo.migrator:default"/>
<setEntry value="org.eclipse.emf.cdo.server.db:default"/>
diff --git a/plugins/org.eclipse.net4j.http.common/src/org/eclipse/net4j/http/internal/common/HTTPConnector.java b/plugins/org.eclipse.net4j.http.common/src/org/eclipse/net4j/http/internal/common/HTTPConnector.java
index 67c76d5779..7a46706679 100644
--- a/plugins/org.eclipse.net4j.http.common/src/org/eclipse/net4j/http/internal/common/HTTPConnector.java
+++ b/plugins/org.eclipse.net4j.http.common/src/org/eclipse/net4j/http/internal/common/HTTPConnector.java
@@ -498,10 +498,9 @@ public abstract class HTTPConnector extends Connector implements IHTTPConnector
super.write(out);
buffer.flip();
- ByteBuffer byteBuffer = buffer.getByteBuffer();
- byteBuffer.position(IBuffer.HEADER_SIZE);
+ buffer.setPosition(IBuffer.HEADER_SIZE);
- int length = byteBuffer.limit() - byteBuffer.position();
+ int length = buffer.getLimit() - IBuffer.HEADER_SIZE;
out.writeShort(length);
if (TRACER.isEnabled())
{
@@ -510,7 +509,7 @@ public abstract class HTTPConnector extends Connector implements IHTTPConnector
for (int i = 0; i < length; i++)
{
- byte b = byteBuffer.get();
+ byte b = buffer.get();
out.writeByte(b);
}
diff --git a/plugins/org.eclipse.net4j.jvm/.settings/.api_filters b/plugins/org.eclipse.net4j.jvm/.settings/.api_filters
index 07e87b565c..cf0f3ecaa3 100644
--- a/plugins/org.eclipse.net4j.jvm/.settings/.api_filters
+++ b/plugins/org.eclipse.net4j.jvm/.settings/.api_filters
@@ -1,5 +1,152 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.net4j.jvm" version="2">
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMAcceptor.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMAcceptor.java" type="org.eclipse.net4j.internal.jvm.JVMAcceptor">
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="IJVMAcceptor"/>
+ <message_argument value="JVMAcceptor"/>
+ </message_arguments>
+ </filter>
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="JVMServerConnector"/>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="handleAccept(JVMClientConnector)"/>
+ </message_arguments>
+ </filter>
+ <filter id="643846161">
+ <message_arguments>
+ <message_argument value="JVMClientConnector"/>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="handleAccept(JVMClientConnector)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMAcceptorFactory.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMAcceptorFactory.java" type="org.eclipse.net4j.internal.jvm.JVMAcceptorFactory">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="JVMAcceptorFactory"/>
+ <message_argument value="create(String)"/>
+ </message_arguments>
+ </filter>
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="JVMAcceptorFactory"/>
+ <message_argument value="get(IManagedContainer, String)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMAcceptorManager.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMAcceptorManager.java" type="org.eclipse.net4j.internal.jvm.JVMAcceptorManager">
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="IJVMAcceptorManager"/>
+ <message_argument value="JVMAcceptorManager"/>
+ </message_arguments>
+ </filter>
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="JVMAcceptorManager"/>
+ <message_argument value="getAcceptor(String)"/>
+ </message_arguments>
+ </filter>
+ <filter id="643846161">
+ <message_arguments>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="JVMAcceptorManager"/>
+ <message_argument value="deregisterAcceptor(JVMAcceptor)"/>
+ </message_arguments>
+ </filter>
+ <filter id="643846161">
+ <message_arguments>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="JVMAcceptorManager"/>
+ <message_argument value="registerAcceptor(JVMAcceptor)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMClientConnector.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMClientConnector.java" type="org.eclipse.net4j.internal.jvm.JVMClientConnector">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="JVMClientConnector"/>
+ <message_argument value="getAcceptor()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMConnector.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMConnector.java" type="org.eclipse.net4j.internal.jvm.JVMConnector">
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="IJVMConnector"/>
+ <message_argument value="JVMConnector"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMConnectorFactory.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMConnectorFactory.java" type="org.eclipse.net4j.internal.jvm.JVMConnectorFactory">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="JVMClientConnector"/>
+ <message_argument value="JVMConnectorFactory"/>
+ <message_argument value="create(String)"/>
+ </message_arguments>
+ </filter>
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="JVMClientConnector"/>
+ <message_argument value="JVMConnectorFactory"/>
+ <message_argument value="get(IManagedContainer, String)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMServerConnector.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/jvm/JVMServerConnector.java" type="org.eclipse.net4j.internal.jvm.JVMServerConnector">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="JVMServerConnector"/>
+ <message_argument value="getAcceptor()"/>
+ </message_arguments>
+ </filter>
+ <filter id="643850349">
+ <message_arguments>
+ <message_argument value="JVMAcceptor"/>
+ <message_argument value="JVMServerConnector"/>
+ <message_argument value="JVMServerConnector(JVMAcceptor, JVMClientConnector)"/>
+ </message_arguments>
+ </filter>
+ <filter id="643850349">
+ <message_arguments>
+ <message_argument value="JVMClientConnector"/>
+ <message_argument value="JVMServerConnector"/>
+ <message_argument value="JVMServerConnector(JVMAcceptor, JVMClientConnector)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/jvm/IJVMChannel.java">
+ <filter id="0"/>
+ </resource>
<resource path="src/org/eclipse/net4j/jvm/IJVMChannel.java" type="org.eclipse.net4j.jvm.IJVMChannel">
<filter id="571473929">
<message_arguments>
diff --git a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnector.java b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnector.java
index 1f593d2f02..35cb28f847 100644
--- a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnector.java
+++ b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnector.java
@@ -23,7 +23,6 @@ import org.eclipse.net4j.util.security.INegotiationContext;
import org.eclipse.spi.net4j.Connector;
import org.eclipse.spi.net4j.InternalChannel;
-import java.nio.ByteBuffer;
import java.util.Queue;
/**
@@ -81,8 +80,7 @@ public abstract class JVMConnector extends Connector implements IJVMConnector
Queue<IBuffer> localQueue = localChannel.getSendQueue();
IBuffer buffer = localQueue.poll();
- ByteBuffer byteBuffer = buffer.getByteBuffer();
- if (byteBuffer.position() == IBuffer.HEADER_SIZE)
+ if (buffer.getPosition() == IBuffer.HEADER_SIZE)
{
// Just release this empty buffer has been written
buffer.release();
diff --git a/plugins/org.eclipse.net4j.tcp/.settings/.api_filters b/plugins/org.eclipse.net4j.tcp/.settings/.api_filters
new file mode 100644
index 0000000000..1cc951e636
--- /dev/null
+++ b/plugins/org.eclipse.net4j.tcp/.settings/.api_filters
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.net4j.tcp" version="2">
+ <resource path="src/org/eclipse/net4j/internal/tcp/ControlChannel.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/ControlChannel.java" type="org.eclipse.net4j.internal.tcp.ControlChannel">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="TCPConnector"/>
+ <message_argument value="ControlChannel"/>
+ <message_argument value="getConnector()"/>
+ </message_arguments>
+ </filter>
+ <filter id="643850349">
+ <message_arguments>
+ <message_argument value="TCPConnector"/>
+ <message_argument value="ControlChannel"/>
+ <message_argument value="ControlChannel(TCPConnector)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPAcceptor.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPAcceptor.java" type="org.eclipse.net4j.internal.tcp.TCPAcceptor">
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="ITCPAcceptor"/>
+ <message_argument value="TCPAcceptor"/>
+ </message_arguments>
+ </filter>
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="ITCPPassiveSelectorListener"/>
+ <message_argument value="TCPAcceptor"/>
+ </message_arguments>
+ </filter>
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="TCPSelector"/>
+ <message_argument value="TCPAcceptor"/>
+ <message_argument value="getSelector()"/>
+ </message_arguments>
+ </filter>
+ <filter id="643846161">
+ <message_arguments>
+ <message_argument value="TCPSelector"/>
+ <message_argument value="TCPAcceptor"/>
+ <message_argument value="setSelector(TCPSelector)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPAcceptorFactory.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPAcceptorFactory.java" type="org.eclipse.net4j.internal.tcp.TCPAcceptorFactory">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="TCPAcceptor"/>
+ <message_argument value="TCPAcceptorFactory"/>
+ <message_argument value="create(String)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPConnector.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPConnector.java" type="org.eclipse.net4j.internal.tcp.TCPConnector">
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="ITCPActiveSelectorListener"/>
+ <message_argument value="TCPConnector"/>
+ </message_arguments>
+ </filter>
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="ITCPConnector"/>
+ <message_argument value="TCPConnector"/>
+ </message_arguments>
+ </filter>
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="ControlChannel"/>
+ <message_argument value="TCPConnector"/>
+ <message_argument value="getControlChannel()"/>
+ </message_arguments>
+ </filter>
+ <filter id="643846161">
+ <message_arguments>
+ <message_argument value="ControlChannel"/>
+ <message_argument value="TCPConnector"/>
+ <message_argument value="setControlChannel(ControlChannel)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPConnector.java" type="org.eclipse.net4j.internal.tcp.TCPConnector$TCPNegotiationContext">
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="ITCPNegotiationContext"/>
+ <message_argument value="TCPNegotiationContext"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPConnectorFactory.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPConnectorFactory.java" type="org.eclipse.net4j.internal.tcp.TCPConnectorFactory">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="TCPConnector"/>
+ <message_argument value="TCPConnectorFactory"/>
+ <message_argument value="create(String)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPSelector.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPSelector.java" type="org.eclipse.net4j.internal.tcp.TCPSelector">
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="ITCPSelector"/>
+ <message_argument value="TCPSelector"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPSelectorFactory.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPSelectorFactory.java" type="org.eclipse.net4j.internal.tcp.TCPSelectorFactory">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="TCPSelector"/>
+ <message_argument value="TCPSelectorFactory"/>
+ <message_argument value="create(String)"/>
+ </message_arguments>
+ </filter>
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="TCPSelector"/>
+ <message_argument value="TCPSelectorFactory"/>
+ <message_argument value="get(IManagedContainer, String)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPServerConnector.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/TCPServerConnector.java" type="org.eclipse.net4j.internal.tcp.TCPServerConnector">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="TCPAcceptor"/>
+ <message_argument value="TCPServerConnector"/>
+ <message_argument value="getAcceptor()"/>
+ </message_arguments>
+ </filter>
+ <filter id="643850349">
+ <message_arguments>
+ <message_argument value="TCPAcceptor"/>
+ <message_argument value="TCPServerConnector"/>
+ <message_argument value="TCPServerConnector(TCPAcceptor)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/ssl/SSLBuffer.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/ssl/SSLBuffer.java" type="org.eclipse.net4j.internal.tcp.ssl.SSLBuffer">
+ <filter id="643850349">
+ <message_arguments>
+ <message_argument value="SSLEngineManager"/>
+ <message_argument value="SSLBuffer"/>
+ <message_argument value="SSLBuffer(IBufferProvider, short, SSLEngineManager)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/ssl/SSLBufferFactory.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/ssl/SSLBufferFactory.java" type="org.eclipse.net4j.internal.tcp.ssl.SSLBufferFactory">
+ <filter id="643850349">
+ <message_arguments>
+ <message_argument value="SSLEngineManager"/>
+ <message_argument value="SSLBufferFactory"/>
+ <message_argument value="SSLBufferFactory(SSLEngineManager)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/ssl/SSLServerConnector.java">
+ <filter id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/net4j/internal/tcp/ssl/SSLServerConnector.java" type="org.eclipse.net4j.internal.tcp.ssl.SSLServerConnector">
+ <filter id="643842064">
+ <message_arguments>
+ <message_argument value="SSLAcceptor"/>
+ <message_argument value="SSLServerConnector"/>
+ <message_argument value="getAcceptor()"/>
+ </message_arguments>
+ </filter>
+ <filter id="643850349">
+ <message_arguments>
+ <message_argument value="SSLAcceptor"/>
+ <message_argument value="SSLServerConnector"/>
+ <message_argument value="SSLServerConnector(SSLAcceptor)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ControlChannel.java b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ControlChannel.java
index 2080ed5b27..9977734168 100644
--- a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ControlChannel.java
+++ b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ControlChannel.java
@@ -128,8 +128,7 @@ public class ControlChannel extends Channel
{
try
{
- ByteBuffer byteBuffer = buffer.getByteBuffer();
- byte opcode = byteBuffer.get();
+ byte opcode = buffer.get();
switch (opcode)
{
case OPCODE_NEGOTIATION:
@@ -143,7 +142,7 @@ public class ControlChannel extends Channel
}
Receiver receiver = negotiationContext.getReceiver();
- receiver.receiveBuffer(negotiationContext, byteBuffer);
+ receiver.receiveBuffer(negotiationContext, buffer.getByteBuffer());
break;
}
@@ -155,14 +154,14 @@ public class ControlChannel extends Channel
case OPCODE_REGISTRATION_VERSIONED:
{
assertConnected();
- short channelID = byteBuffer.getShort();
+ short channelID = buffer.getShort();
assertValidChannelID(channelID);
String error = null;
try
{
- int protocolVersion = byteBuffer.getInt();
- String protocolID = BufferUtil.getString(byteBuffer);
+ int protocolVersion = buffer.getInt();
+ String protocolID = buffer.getString();
InternalChannel channel = getConnector().inverseOpenChannel(channelID, protocolID, protocolVersion);
if (channel == null)
@@ -186,7 +185,7 @@ public class ControlChannel extends Channel
case OPCODE_DEREGISTRATION:
{
assertConnected();
- short channelID = byteBuffer.getShort();
+ short channelID = buffer.getShort();
if (channelID == CONTROL_CHANNEL_INDEX)
{
throw new ImplementationError();
@@ -210,8 +209,8 @@ public class ControlChannel extends Channel
case OPCODE_REGISTRATION_ACK:
{
assertConnected();
- short channelID = byteBuffer.getShort();
- String error = BufferUtil.getString(byteBuffer);
+ short channelID = buffer.getShort();
+ String error = buffer.getString();
if (error == null)
{
error = SUCCESS;
diff --git a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ssl/SSLBuffer.java b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ssl/SSLBuffer.java
index 30e145259f..1c4cb86b8a 100644
--- a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ssl/SSLBuffer.java
+++ b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ssl/SSLBuffer.java
@@ -71,18 +71,16 @@ public class SSLBuffer extends Buffer
buf.flip();
int limit = buf.limit();
- ByteBuffer byteBuffer = getByteBuffer();
-
- int capacity = byteBuffer.capacity();
+ int capacity = getCapacity();
limit = limit > capacity ? capacity : limit;
- byteBuffer.put(buf.array(), 0, limit);
+ put(buf.array(), 0, limit);
buf.position(limit);
buf.compact();
- byteBuffer.flip();
+ flip();
- setChannelID(byteBuffer.getShort());
- short payloadSize = byteBuffer.getShort();
+ setChannelID(getShort());
+ short payloadSize = getShort();
if (payloadSize < 0)
{
@@ -92,17 +90,17 @@ public class SSLBuffer extends Buffer
payloadSize -= MAKE_PAYLOAD_SIZE_NON_ZERO;
- byteBuffer.position(IBuffer.HEADER_SIZE);
+ setPosition(IBuffer.HEADER_SIZE);
setState(BufferState.READING_HEADER);
- byteBuffer.compact();
- byteBuffer.limit(payloadSize);
+ compact();
+ setLimit(payloadSize);
setState(BufferState.READING_BODY);
- byteBuffer.flip();
+ flip();
setState(BufferState.GETTING);
- return byteBuffer;
+ return getByteBuffer();
}
else if (readSize < 0)
{
@@ -141,7 +139,6 @@ public class SSLBuffer extends Buffer
throw new IllegalStateException(toString());
}
- ByteBuffer byteBuffer = getByteBuffer();
if (state == BufferState.PUTTING)
{
if (getChannelID() == NO_CHANNEL)
@@ -149,7 +146,7 @@ public class SSLBuffer extends Buffer
throw new IllegalStateException("channelID == NO_CHANNEL"); //$NON-NLS-1$
}
- int payloadSize = byteBuffer.position() - IBuffer.HEADER_SIZE + MAKE_PAYLOAD_SIZE_NON_ZERO;
+ int payloadSize = getPosition() - IBuffer.HEADER_SIZE + MAKE_PAYLOAD_SIZE_NON_ZERO;
if (isEOS())
{
payloadSize = -payloadSize;
@@ -161,14 +158,14 @@ public class SSLBuffer extends Buffer
+ (isEOS() ? " (EOS)" : "") + StringUtil.NL + formatContent(false)); //$NON-NLS-1$ //$NON-NLS-2$
}
- byteBuffer.flip();
- byteBuffer.putShort(getChannelID());
- byteBuffer.putShort((short)payloadSize);
- byteBuffer.position(0);
+ flip();
+ putShort(getChannelID());
+ putShort((short)payloadSize);
+ setPosition(0);
setState(BufferState.WRITING);
}
- sslEngineManager.getAppSendBuf().put(byteBuffer);
+ sslEngineManager.getAppSendBuf().put(getByteBuffer());
sslEngineManager.write(socketChannel);
if (sslEngineManager.getPacketSendBuf().position() > 0)
diff --git a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/AllTests.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/AllTests.java
index 91b2ddba06..af00e7c164 100644
--- a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/AllTests.java
+++ b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/AllTests.java
@@ -17,7 +17,7 @@ import org.eclipse.net4j.util.tests.ExecutorWorkSerializerTest;
import org.eclipse.net4j.util.tests.ExpectedIOTest;
import org.eclipse.net4j.util.tests.ExtendedIOTest;
import org.eclipse.net4j.util.tests.MultiMapTest;
-import org.eclipse.net4j.util.tests.ReferenceValueMapTest;
+import org.eclipse.net4j.util.tests.RollingLogTest;
import org.eclipse.net4j.util.tests.SecurityTest;
import org.eclipse.net4j.util.tests.SortedFileMapTest;
import org.eclipse.net4j.util.tests.StringCompressorTest;
@@ -39,7 +39,6 @@ public class AllTests
suite.addTestSuite(MultiMapTest.class);
suite.addTestSuite(SortedFileMapTest.class);
suite.addTestSuite(SynchronizingCorrelatorTest.class);
- suite.addTestSuite(ReferenceValueMapTest.class);
suite.addTestSuite(BufferPoolTest.class);
suite.addTestSuite(ExtendedIOTest.class);
suite.addTestSuite(StringCompressorTest.class);
@@ -54,6 +53,7 @@ public class AllTests
suite.addTestSuite(SecurityTest.class);
suite.addTestSuite(ExecutorWorkSerializerTest.class);
suite.addTestSuite(ExpectedIOTest.class);
+ suite.addTestSuite(RollingLogTest.class);
// Bugzillas
suite.addTestSuite(Bugzilla_241463_Test.JVM.class);
diff --git a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/ReferenceValueMapTest.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/ReferenceValueMapTest.java
deleted file mode 100644
index e8c2101ece..0000000000
--- a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/ReferenceValueMapTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2007-2009, 2011, 2012, 2015 Eike Stepper (Berlin, Germany) and others.
- * 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.tests;
-
-import org.eclipse.net4j.util.ref.ReferenceValueMap;
-
-/**
- * @author Eike Stepper
- */
-public class ReferenceValueMapTest extends AbstractOMTest
-{
- public void testSameKey() throws Exception
- {
- ReferenceValueMap<String, Object> map = new ReferenceValueMap.Weak<String, Object>();
- for (int i = 0; i < 10; i++)
- {
- map.put("SIMON", new Object()); //$NON-NLS-1$
- System.gc();
- map.put("SIMON", new Object()); //$NON-NLS-1$
- assertEquals(true, map.size() >= 0);
- }
- }
-
- public void testDifferentKey() throws Exception
- {
- ReferenceValueMap<String, Object> map = new ReferenceValueMap.Weak<String, Object>();
- for (int i = 0; i < 10; i++)
- {
- map.put("SIMON", new Object()); //$NON-NLS-1$
- System.gc();
- map.put("SIMON2", new Object()); //$NON-NLS-1$
- assertEquals(true, map.size() >= 1);
- }
- }
-}
diff --git a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/RollingLogTest.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/RollingLogTest.java
new file mode 100644
index 0000000000..60aa59acc8
--- /dev/null
+++ b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/RollingLogTest.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2010-2012 Eike Stepper (Berlin, Germany) and others.
+ * 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
+ * Caspar De Groot - maintenance
+ */
+package org.eclipse.net4j.util.tests;
+
+import org.eclipse.net4j.util.io.TMPUtil;
+import org.eclipse.net4j.util.om.log.RollingLog;
+
+import java.io.File;
+
+/**
+ * @author Eike Stepper
+ * @since 3.1
+ */
+public class RollingLogTest extends AbstractOMTest
+{
+ private static final String MESSAGE = "Hello World";
+
+ public void testAppend() throws Exception
+ {
+ TestListener2 propertiesListener = new TestListener2(RollingLog.PropertiesEvent.class);
+ TestListener2 splitListener = new TestListener2(RollingLog.SplitEvent.class);
+
+ RollingLog log = new RollingLog(TMPUtil.getTempName("rollinglog").getAbsolutePath(), 1000, false);
+ log.setWriteBulk(false);
+ log.setWriteInterval(0);
+ log.addListener(propertiesListener);
+ log.addListener(splitListener);
+ log.activate();
+
+ write(log, 3000);
+ log.commit();
+
+ assertEquals(9, log.getFileNumber());
+ assertEquals(9, splitListener.getEvents().size());
+
+ log.deactivate();
+ assertEquals(1, propertiesListener.getEvents().size());
+
+ propertiesListener = new TestListener2(RollingLog.PropertiesEvent.class);
+ splitListener = new TestListener2(RollingLog.SplitEvent.class);
+
+ log = new RollingLog(log.getLogFile(), 1000, true);
+ log.setWriteBulk(false);
+ log.setWriteInterval(0);
+ log.addListener(propertiesListener);
+ log.addListener(splitListener);
+ log.activate();
+
+ write(log, 3000);
+ log.commit();
+
+ assertEquals(19, log.getFileNumber());
+ assertEquals(10, splitListener.getEvents().size());
+
+ log.deactivate();
+ assertEquals(2, propertiesListener.getEvents().size());
+ }
+
+ public void testOverwrite() throws Exception
+ {
+ TestListener2 propertiesListener = new TestListener2(RollingLog.PropertiesEvent.class);
+ TestListener2 splitListener = new TestListener2(RollingLog.SplitEvent.class);
+
+ RollingLog log = new RollingLog(TMPUtil.getTempName("rollinglog").getAbsolutePath(), 1000, false);
+ log.setWriteBulk(false);
+ log.setWriteInterval(0);
+ log.addListener(propertiesListener);
+ log.addListener(splitListener);
+ log.activate();
+
+ write(log, 3000);
+ log.commit();
+
+ assertEquals(9, log.getFileNumber());
+ assertEquals(9, splitListener.getEvents().size());
+
+ log.deactivate();
+ assertEquals(1, propertiesListener.getEvents().size());
+
+ propertiesListener = new TestListener2(RollingLog.PropertiesEvent.class);
+ splitListener = new TestListener2(RollingLog.SplitEvent.class);
+
+ log = new RollingLog(log.getLogFile(), 1000, false);
+ log.setWriteBulk(false);
+ log.setWriteInterval(0);
+ log.addListener(propertiesListener);
+ log.addListener(splitListener);
+ log.activate();
+
+ write(log, 3000);
+ log.commit();
+
+ assertEquals(9, log.getFileNumber());
+ assertEquals(9, splitListener.getEvents().size());
+
+ log.deactivate();
+ assertEquals(1, propertiesListener.getEvents().size());
+ }
+
+ public void testRecover() throws Exception
+ {
+ RollingLog log = new RollingLog(TMPUtil.getTempName("rollinglog").getAbsolutePath(), 1000, false);
+ log.setWriteBulk(false);
+ log.setWriteInterval(0);
+ log.activate();
+
+ write(log, 3000);
+ log.commit();
+ log.deactivate();
+
+ assertTrue(new File(log.getLogFile() + ".properties").delete());
+ TestListener2 recoveryListener = new TestListener2(RollingLog.RecoveryEvent.class);
+ TestListener2 propertiesListener = new TestListener2(RollingLog.PropertiesEvent.class);
+
+ log = new RollingLog(log.getLogFile(), 1000, true);
+ log.setWriteBulk(false);
+ log.setWriteInterval(0);
+ log.addListener(recoveryListener);
+ log.addListener(propertiesListener);
+ log.activate();
+ assertEquals(19, recoveryListener.getEvents().size());
+ log.deactivate();
+ assertEquals(2, propertiesListener.getEvents().size());
+ }
+
+ private static void write(RollingLog log, int size)
+ {
+ for (int i = 0; i < size; i += MESSAGE.length())
+ {
+ log.log(MESSAGE);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/util/TestListener.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/TestListener.java
index 652aa0f28c..b208f3e34a 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/util/TestListener.java
+++ b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/TestListener.java
@@ -8,11 +8,10 @@
* Contributors:
* Eike Stepper - initial API and implementation
*/
-package org.eclipse.emf.cdo.tests.util;
+package org.eclipse.net4j.util.tests;
import org.eclipse.net4j.util.event.IEvent;
import org.eclipse.net4j.util.event.IListener;
-import org.eclipse.net4j.util.tests.AbstractOMTest;
import java.util.ArrayList;
import java.util.List;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/util/TestListener2.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/TestListener2.java
index bac7fec4a4..f05ecfb9c9 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/util/TestListener2.java
+++ b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/TestListener2.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
*/
-package org.eclipse.emf.cdo.tests.util;
+package org.eclipse.net4j.util.tests;
import org.eclipse.net4j.util.WrappedException;
import org.eclipse.net4j.util.event.IEvent;
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/util/Timer.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/Timer.java
index 3c798ed5d7..7f4ec2b8f1 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/util/Timer.java
+++ b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/Timer.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
*/
-package org.eclipse.emf.cdo.tests.util;
+package org.eclipse.net4j.util.tests;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;
diff --git a/plugins/org.eclipse.net4j.trace/.classpath b/plugins/org.eclipse.net4j.trace/.classpath
new file mode 100644
index 0000000000..9e4cf88e3e
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.classpath
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry exported="true" kind="lib" path="aop_libs/aop.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" output="bin-aop" path="src-aop"/>
+ <classpathentry kind="src" path="/org.eclipse.net4j"/>
+ <classpathentry kind="src" path="/org.eclipse.net4j.jvm"/>
+ <classpathentry kind="src" path="/org.eclipse.net4j.tcp"/>
+ <classpathentry kind="src" path="/org.eclipse.net4j.util"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.net4j.trace/.externalToolBuilders/build-aop-lib.launch b/plugins/org.eclipse.net4j.trace/.externalToolBuilders/build-aop-lib.launch
new file mode 100644
index 0000000000..4031c80120
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.externalToolBuilders/build-aop-lib.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.net4j.trace/aop_libs&quot; type=&quot;2&quot;/&gt;&#13;&#10;&lt;/resources&gt;}"/>
+<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.net4j.trace"/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.net4j.trace/src-aop&quot; type=&quot;2&quot;/&gt;&#13;&#10;&lt;/resources&gt;}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.net4j.trace/build-aop-lib.ant}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,auto,"/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+</launchConfiguration>
diff --git a/plugins/org.eclipse.net4j.trace/.gitignore b/plugins/org.eclipse.net4j.trace/.gitignore
new file mode 100644
index 0000000000..2b5024da2f
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.gitignore
@@ -0,0 +1 @@
+/bin-aop/
diff --git a/plugins/org.eclipse.net4j.trace/.options b/plugins/org.eclipse.net4j.trace/.options
new file mode 100644
index 0000000000..108694b5d0
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.options
@@ -0,0 +1,12 @@
+# Debugging and tracing options
+
+org.eclipse.net4j.trace/debug = true
+org.eclipse.net4j.trace/debug.buffer = true
+org.eclipse.net4j.trace/debug.buffer.stream = false
+org.eclipse.net4j.trace/debug.channel = true
+org.eclipse.net4j.trace/debug.acceptor = true
+org.eclipse.net4j.trace/debug.connector = true
+org.eclipse.net4j.trace/debug.signal = true
+
+org.eclipse.net4j.trace/set.signal.thread.name = false
+org.eclipse.net4j.trace/open.channel.timeout = 10000
diff --git a/plugins/org.eclipse.net4j.trace/.project b/plugins/org.eclipse.net4j.trace/.project
new file mode 100644
index 0000000000..5a5e367055
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.project
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.net4j.trace</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.ajdt.core.ajbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.oomph.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>check.maven.pom</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>ignore.lower.bound.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.emf.cdo.releng/versions/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>auto,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value>&lt;project&gt;/.externalToolBuilders/build-aop-lib.launch</value>
+ </dictionary>
+ <dictionary>
+ <key>incclean</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.ajdt.ui.ajnature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1396938000000</id>
+ <name></name>
+ <type>10</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-true-false-target</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/plugins/org.eclipse.net4j.trace/.settings/de.loskutov.anyedit.AnyEditTools.prefs b/plugins/org.eclipse.net4j.trace/.settings/de.loskutov.anyedit.AnyEditTools.prefs
new file mode 100644
index 0000000000..82dfcddaa4
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/de.loskutov.anyedit.AnyEditTools.prefs
@@ -0,0 +1,18 @@
+activeContentFilterList=*.makefile,makefile,*.Makefile,Makefile,Makefile.*,*.mk,MANIFEST.MF,.project,*.yml
+addNewLine=true
+convertActionOnSaave=AnyEdit.CnvrtTabToSpaces
+eclipse.preferences.version=1
+fixLineDelimiters=false
+ignoreBlankLinesWhenTrimming=false
+inActiveContentFilterList=
+javaTabWidthForJava=true
+org.eclipse.jdt.ui.editor.tab.width=2
+projectPropsEnabled=false
+removeTrailingSpaces=true
+replaceAllSpaces=false
+replaceAllTabs=false
+saveAndAddLine=false
+saveAndConvert=false
+saveAndFixLineDelimiters=false
+saveAndTrim=true
+useModulo4Tabs=false
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ajdt.core.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ajdt.core.prefs
new file mode 100644
index 0000000000..78e2626716
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ajdt.core.prefs
@@ -0,0 +1,41 @@
+eclipse.preferences.version=1
+org.aspectj.ajdt.core.compiler.BuildOptions.showweavemessages=false
+org.aspectj.ajdt.core.compiler.lint.BrokeSerialVersionCompatibility=ignore
+org.aspectj.ajdt.core.compiler.lint.CannotImplementLazyTJP=ignore
+org.aspectj.ajdt.core.compiler.lint.InvalidAbsoluteTypeName=warning
+org.aspectj.ajdt.core.compiler.lint.NeedSerialVersionUIDField=ignore
+org.aspectj.ajdt.core.compiler.lint.NoInterfaceCtorJoinpoint=warning
+org.aspectj.ajdt.core.compiler.lint.ShadowNotInStructure=ignore
+org.aspectj.ajdt.core.compiler.lint.TypeNotExposedToWeaver=warning
+org.aspectj.ajdt.core.compiler.lint.UnresolvableMember=warning
+org.aspectj.ajdt.core.compiler.lint.WildcardTypeName=ignore
+org.aspectj.ajdt.core.compiler.lint.adviceDidNotMatch=ignore
+org.aspectj.ajdt.core.compiler.lint.annotationAsTargetForDecpIgnored=warning
+org.aspectj.ajdt.core.compiler.lint.calculatingSerialVersionUID=ignore
+org.aspectj.ajdt.core.compiler.lint.cantFindType=error
+org.aspectj.ajdt.core.compiler.lint.cantFindTypeAffectingJPMatch=warning
+org.aspectj.ajdt.core.compiler.lint.cantMatchArrayTypeOnVarargs=ignore
+org.aspectj.ajdt.core.compiler.lint.elementAlreadyAnnotated=warning
+org.aspectj.ajdt.core.compiler.lint.enumAsTargetForDecpIgnored=warning
+org.aspectj.ajdt.core.compiler.lint.invalidTargetForAnnotation=warning
+org.aspectj.ajdt.core.compiler.lint.multipleAdviceStoppingLazyTjp=ignore
+org.aspectj.ajdt.core.compiler.lint.noExplicitConstructorCall=warning
+org.aspectj.ajdt.core.compiler.lint.noGuardForLazyTjp=ignore
+org.aspectj.ajdt.core.compiler.lint.noJoinpointsForBridgeMethods=warning
+org.aspectj.ajdt.core.compiler.lint.runtimeExceptionNotSoftened=warning
+org.aspectj.ajdt.core.compiler.lint.swallowedExceptionInCatchBlock=ignore
+org.aspectj.ajdt.core.compiler.lint.uncheckedAdviceConversion=warning
+org.aspectj.ajdt.core.compiler.lint.uncheckedArgument=warning
+org.aspectj.ajdt.core.compiler.lint.unmatchedTargetKind=warning
+org.aspectj.ajdt.core.compiler.lint.unorderedAdviceAtShadow=ignore
+org.aspectj.ajdt.core.compiler.list.UnmatchedSuperTypeInCall=warning
+org.aspectj.ajdt.core.compiler.weaver.XHasMember=false
+org.aspectj.ajdt.core.compiler.weaver.XNoInline=false
+org.aspectj.ajdt.core.compiler.weaver.XNotReweavable=false
+org.aspectj.ajdt.core.compiler.weaver.XSerializableAspects=false
+org.aspectj.ajdt.core.compiler.weaver.timers=false
+org.aspectj.ajdt.core.compiler.weaver.verbose=false
+org.aspectj.ajdt.core.complier.lint.aspectExcludedByConfiguration=ignore
+org.eclipse.ajdt.core.builder.incrementalCompilationOptimizations=true
+org.eclipse.ajdt.core.compiler.nonStandardOptions=
+org.eclipse.ajdt.core.compiler.useProjectSettings=true
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ajdt.ui.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ajdt.ui.prefs
new file mode 100644
index 0000000000..ca425f0cf0
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ajdt.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ajdt.aopxml=/org.eclipse.net4j.trace/META-INF/aop.xml
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..5b0b47e0a4
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 04 12:56:06 CEST 2011
+eclipse.preferences.version=1
+
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..26369f43b2
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,395 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.ucls,doc-files/,package.html,package-info.java
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=2
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=160
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=2
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000000..d177941eee
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=ignore
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..f96c62e227
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,119 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=false
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_EMFT
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_EMFT
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004-2017 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=false
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..864e30fe5d
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000000..b050639a54
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,4 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+project.repository.kind=bugzilla
+project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000000..97c11e6725
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.mylyn.team.ui.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+commit.comment.template=[${task.id}] ${task.description}\r\n\r\n${task.url}
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000000..0c17d59e45
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,95 @@
+#Thu Feb 04 09:44:24 CET 2010
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+MISSING_EE_DESCRIPTIONS=Warning
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..fe01bb701d
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=2
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.net4j.trace/CDOServer (Buffer Tracer).launch b/plugins/org.eclipse.net4j.trace/CDOServer (Buffer Tracer).launch
new file mode 100644
index 0000000000..8f1a0fe014
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/CDOServer (Buffer Tracer).launch
@@ -0,0 +1,707 @@
+<?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="true"/>
+<stringAttribute key="bad_container_name" value="\org.eclipse.emf.cdo.server."/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<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 (Buffer Tracer)"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../ws-cdo.server"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+<mapEntry key="[run]" value="org.eclipse.pde.ui.RuntimeWorkbench"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}&#13;&#10;-debug&#13;&#10;-console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms1G&#13;&#10;-Xmx1G&#13;&#10;-Ddebug=true&#13;&#10;-Dorg.eclipse.net4j.tcp.ssl.passphrase=ab987c&#10;&#13;&#10;-Dorg.eclipse.net4j.tcp.ssl.trust=file:///${workspace_loc:org.eclipse.emf.cdo.examples}/sslKey/testTrust&#13;&#10;&#10;-Dorg.eclipse.net4j.tcp.ssl.key=file:///${workspace_loc:org.eclipse.emf.cdo.examples}/sslKey/testKeys&#10;&#13;&#10;-Dorg.eclipse.emf.cdo.server.browser.port=7777&#13;&#10;-Dorg.osgi.service.http.port=8080&#13;&#10;-Dosgi.checkConfiguration=false&#13;&#10;-Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook&#13;&#10;-Dorg.eclipse.net4j.trace.listenerType=logger&#13;&#10;-Dorg.eclipse.net4j.trace.listenerDescription=C:\Develop\cdo-master\trace"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.eclipse.emf.cdo.server.product}"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<stringAttribute key="selectedPlugin" value="org.eclipse.emf.cdo"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.mysql.jdbc@default:default,org.apache.derby@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.aspectj.runtime@default:default,org.aspectj.weaver@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.weaving.aspectj@default:true,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi@-1:true,org.h2@default:default,org.hsqldb@default:default,org.postgresql@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.cdo.common@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.cdo.examples.company@default:default,org.eclipse.emf.cdo.expressions@default:default,org.eclipse.emf.cdo.net4j@default:default,org.eclipse.emf.cdo.security@default:default,org.eclipse.emf.cdo.server.admin@default:default,org.eclipse.emf.cdo.server.db@default:default,org.eclipse.emf.cdo.server.net4j@default:default,org.eclipse.emf.cdo.server.security@default:default,org.eclipse.emf.cdo.server@default:default,org.eclipse.emf.cdo@default:default,org.eclipse.net4j.db.derby@default:default,org.eclipse.net4j.db.h2@default:default,org.eclipse.net4j.db.hsqldb@default:default,org.eclipse.net4j.db.jdbc@default:default,org.eclipse.net4j.db.mysql@default:default,org.eclipse.net4j.db.postgresql@default:default,org.eclipse.net4j.db@default:default,org.eclipse.net4j.jvm@default:default,org.eclipse.net4j.tcp@default:default,org.eclipse.net4j.trace@default:default,org.eclipse.net4j.util@default:default,org.eclipse.net4j@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
+<booleanAttribute key="tracing" value="false"/>
+<mapAttribute key="tracingOptions">
+<mapEntry key="org.aspectj.osgi.service.weaving/debug" value="false"/>
+<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
+<mapEntry key="org.eclipse.core.expressions/debug/TypeExtensionManager" value="false"/>
+<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
+<mapEntry key="org.eclipse.core.net/debug" value="false"/>
+<mapEntry key="org.eclipse.core.net/systemproviders" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
+<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
+<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
+<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
+<mapEntry key="org.eclipse.core.resources/history" value="false"/>
+<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
+<mapEntry key="org.eclipse.core.resources/notifications" value="false"/>
+<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
+<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
+<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
+<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
+<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
+<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
+<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/perf/success" 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.core.runtime/url/debug/cachecopy" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/breadcrumb" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/memory/dynamicLoading" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/breakpointDeltas" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/presentationId" value=""/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/stateSaveRestore" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
+<mapEntry key="org.eclipse.e4.core.contexts/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.core.contexts/debug/listeners" value="false"/>
+<mapEntry key="org.eclipse.e4.core.contexts/debug/names" value="false"/>
+<mapEntry key="org.eclipse.e4.core.di/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.core.services/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.core.services/debug/injector" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/eclipse.context" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/eclipse.context.verbose" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/menus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/renderer" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/workbench" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/eclipse.context" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/eclipse.context.verbose" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/menus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/renderer" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/workbench" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.admin/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.admin/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common.db/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/debug.id" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/debug.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/perf" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/perf.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/perf.revision.reading" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.common/perf.revision.writing" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.compare/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn.ui/debug.object" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn.util/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn.util/debug.object" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.object" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.object.statemachine" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.object.store" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.session" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.session.model" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.session.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.view" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.view.audit" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/debug.view.transaction" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.dawn/load.resource.before.notification" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.examples/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.explorer.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.explorer/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.expressions/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/perf" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/perf.revision" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.net4j/perf.revision.loading" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.security/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.admin/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.admin/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.db/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.db/debug.units" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.embedded/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.hibernate/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.lissome/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.lissome/debug.index" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.lissome/debug.journal" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.lissome/debug.vob" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.mongodb/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.repository" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.resource" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.session" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.store" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.transaction" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.net4j/debug.types" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server.objectivity/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.repository" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.resource" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.session" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.store" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.transaction" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.server/debug.types" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.all/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.db/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.lissome/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.mongodb/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests.objectivity/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.tests/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer.repository/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer.workspace.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer.workspace/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.transfer/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui.admin/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui.compare/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui.shared/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui.team/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo.ui/test" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo.workspace/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.object" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.object.statemachine" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.object.store" value="false"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.session" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.session.model" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.session.revision" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.view" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.view.audit" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/debug.view.transaction" value="true"/>
+<mapEntry key="org.eclipse.emf.cdo/load.resource.before.notification" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/locking" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.emf.transaction/debug/transactions" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.validation/debug/cache" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/constraints" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/constraints/disabled" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/constraints/evaluation" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/listeners" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/parsers" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/providers" value="false"/>
+<mapEntry key="org.eclipse.emf.validation/debug/xml" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug" value="true"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.emf.workspace/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.equinox.common/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.common/progress_monitors" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/certificatechecker/unsigned" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/certificatechecker/untrusted" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/engine/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/enginesession/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/profileregistry/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
+<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
+<mapEntry key="org.eclipse.equinox.security.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.security.ui/debug/storage" value="false"/>
+<mapEntry key="org.eclipse.equinox.security/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.security/debug/loginFramework" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/bundle" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/bundleName" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/cache" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/supplements" value="false"/>
+<mapEntry key="org.eclipse.equinox.weaving.hook/debug/weave" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/commands/admin" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/commands/execute" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/commands/redo" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/commands/undo" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/plugin/ondemand/loading" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/services/activate" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/services/config" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.core/debug/services/execute" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.action/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services.action/debug/services/config" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui.services/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/actions/admin" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/actions/repeat" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/actions/run" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.common.ui/debug/resource/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui.actions/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/dnd/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/filter/canonical" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/filter/events" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/filter/persistencemgr" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.diagram.ui/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/dnd/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.figures/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/dnd/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.draw2d.ui.render/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.clipboard.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/events/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.commands.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/events/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.core/debug/resources" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.type.core/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui.properties/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.emf.ui/debug/model/operations" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/dnd/tracing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.gef.ui/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug" value="true"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.gmf.runtime.notation.providers/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
+<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
+<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
+<mapEntry key="org.eclipse.help/debug" value="true"/>
+<mapEntry key="org.eclipse.help/debug/context" value="false"/>
+<mapEntry key="org.eclipse.help/debug/search" value="false"/>
+<mapEntry key="org.eclipse.help/debug/toc" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/compilationEnv" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFileMaps" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.pluggable.core/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/builder/stats" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/failure" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/dom/ast" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/dom/ast/throw" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/dom/rewrite" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/formatter" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/freespacetest" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/indexer" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/insertions" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/locks" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/logsizemegs" value="0"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/pagecache" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/scheduling" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/selftest" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/space" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/timing" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/indexmanager/advanced" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/classpath" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/insertions" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/invalid_archives" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
+<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
+<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
+<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
+<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
+<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
+<mapEntry key="org.eclipse.jdt.debug/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/astEvaluations" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/astEvaluations/callingThreads" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/jdiEvents" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/jdiRequestTimes" value="false"/>
+<mapEntry key="org.eclipse.jdt.launching/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.launching/debug/classpath/jreContainer" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/BreadcrumbItemDropDown" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
+<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
+<mapEntry key="org.eclipse.jface.text/assert/TextSelection/validConstructorArguments" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/AbstractInformationControlManager" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
+<mapEntry key="org.eclipse.jface/debug" value="true"/>
+<mapEntry key="org.eclipse.jface/debug/bidiUtils" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/dialog/noparent" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptor2x" value="true"/>
+<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptor2xPngForGif" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptorDirectly" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/logURLImageDescriptorMissing2x" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/trace/URLImageDescriptor" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/viewers/equalElements" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/viewers/reentrantViewerCalls" value="false"/>
+<mapEntry key="org.eclipse.jface/newlook/preferences/showNewLook" value="false"/>
+<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
+<mapEntry key="org.eclipse.jface/trace/toolbarDisposal" value="false"/>
+<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
+<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
+<mapEntry key="org.eclipse.net4j.buddies.chat.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies.chat/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies.common/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies.server/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.buddies/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.derby/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.derby/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.h2/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.h2/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.hsqldb/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.hsqldb/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.mysql/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.oracle/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.oracle/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.postgresql/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db.postgresql/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.db/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/>
+<mapEntry key="org.eclipse.net4j.debug/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.examples/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.http.common/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.http.server/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.http/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/>
+<mapEntry key="org.eclipse.net4j.jvm/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.tests/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.acceptor" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.buffer" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.buffer.stream" value="false"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.channel" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.connector" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/debug.signal" value="true"/>
+<mapEntry key="org.eclipse.net4j.trace/open.channel.timeout" value="10000"/>
+<mapEntry key="org.eclipse.net4j.trace/set.signal.thread.name" value="false"/>
+<mapEntry key="org.eclipse.net4j.ui.shared/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.concurrency" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.om.monitor" value="true"/>
+<mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.acceptor" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.buffer" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.buffer.stream" value="false"/>
+<mapEntry key="org.eclipse.net4j/debug.channel" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.connector" value="true"/>
+<mapEntry key="org.eclipse.net4j/debug.signal" value="true"/>
+<mapEntry key="org.eclipse.net4j/open.channel.timeout" value="10000"/>
+<mapEntry key="org.eclipse.net4j/set.signal.thread.name" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug" value="true"/>
+<mapEntry key="org.eclipse.ocl/debug/evaluation" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.ocl/debug/parsing" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/bundleFile" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/cachedmanifest" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/location" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/objectPool/adds" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/objectPool/dups" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/storage" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/systemBundle" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
+<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
+<mapEntry key="org.eclipse.osgi/monitor/lazy" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/hooks" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/providers" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/report" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/roots" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/uses" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apianalyzer" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apidescription" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apifilterstore" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apiprofile" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/builder" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/classfilevisitor" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/delta" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/descriptor/framework" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/pluginworkspacecomponent" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/profilemanager" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/search" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/tagscanner" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/usereportconverter" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/workspacedeltaprocessor" value="false"/>
+<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
+<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
+<mapEntry key="org.eclipse.pde.core/model" value="false"/>
+<mapEntry key="org.eclipse.pde.core/target/profile" value="false"/>
+<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
+<mapEntry key="org.eclipse.pde.ds.annotations/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.ds.annotations/ds-annotation-builder" value="false"/>
+<mapEntry key="org.eclipse.pde.ds.annotations/ds-annotation-builder/processor" value="false"/>
+<mapEntry key="org.eclipse.search/perf" value="false"/>
+<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
+<mapEntry key="org.eclipse.team.core/debug" value="false"/>
+<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
+<mapEntry key="org.eclipse.team.core/streams" value="false"/>
+<mapEntry key="org.eclipse.team.core/threading" value="false"/>
+<mapEntry key="org.eclipse.team.ui/compare_editor_input" value="false"/>
+<mapEntry key="org.eclipse.team.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.team.ui/dnd" value="false"/>
+<mapEntry key="org.eclipse.team.ui/history" value="false"/>
+<mapEntry key="org.eclipse.team.ui/syncmodels" value="false"/>
+<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.forms/debug" value="true"/>
+<mapEntry key="org.eclipse.ui.forms/debug/focus" value="true"/>
+<mapEntry key="org.eclipse.ui.forms/debug/text" value="true"/>
+<mapEntry key="org.eclipse.ui.forms/debug/textsize" value="true"/>
+<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/markers" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/>
+<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
+<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
+<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
+<mapEntry key="org.eclipse.ui.intro/debug/toolbar" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/flags/noBrowser" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
+<mapEntry key="org.eclipse.ui.monitoring/debug/event_monitor" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/dnd" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/resolution" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/setup" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/sort" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/viewermap" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/perf/explorer/createPartControl" value="1300"/>
+<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.workbench/debug/e4" value="false"/>
+<mapEntry key="org.eclipse.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/swtdebugglobal" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/workingSets" value="false"/>
+<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/earlyStartup" value="100"/>
+<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
+<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
+<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/perspectives" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
+<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
+</mapAttribute>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useNamedJRE" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/plugins/org.eclipse.net4j.trace/Equinox-Aspects.url b/plugins/org.eclipse.net4j.trace/Equinox-Aspects.url
new file mode 100644
index 0000000000..d065025f84
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/Equinox-Aspects.url
@@ -0,0 +1,2 @@
+[InternetShortcut]
+URL=https://www.eclipse.org/equinox/incubator/aspects/equinox-aspects-quick-start.php
diff --git a/plugins/org.eclipse.net4j.trace/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.trace/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..85f04ad862
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.net4j.trace;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.net4j.internal.trace.bundle.OM$Activator
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ClassPath: .,
+ aop_libs/aop.jar
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)";resolution:=optional,
+ org.aspectj.runtime;bundle-version="[1.8.0,2.0.0)";resolution:=optional;visibility:=reexport,
+ org.eclipse.net4j;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
+ org.eclipse.net4j.jvm;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
+ org.eclipse.net4j.tcp;bundle-version="[4.0.0,5.0.0)";visibility:=reexport
+Export-Package: org.eclipse.net4j.internal.trace;version="1.0.0";x-internal:=true,
+ org.eclipse.net4j.internal.trace.bundle;version="1.0.0";x-internal:=true,
+ org.eclipse.net4j.trace;version="1.0.0"
+Automatic-Module-Name: org.eclipse.net4j.trace
+Eclipse-SupplementBundle: org.eclipse.net4j,
+ org.eclipse.net4j.jvm,
+ org.eclipse.net4j.tcp
diff --git a/plugins/org.eclipse.net4j.trace/META-INF/aop.xml b/plugins/org.eclipse.net4j.trace/META-INF/aop.xml
new file mode 100644
index 0000000000..a3e57c53c4
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/META-INF/aop.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<aspectj>
+ <aspects>
+ <aspect name="org.eclipse.net4j.internal.trace.Aspect" />
+ </aspects>
+</aspectj>
diff --git a/plugins/org.eclipse.net4j.trace/README.txt b/plugins/org.eclipse.net4j.trace/README.txt
new file mode 100644
index 0000000000..2f42a296dd
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/README.txt
@@ -0,0 +1,13 @@
+Add the following plugins:
+
+ org.eclipse.net4j.trace
+ org.aspectj.runtime
+ org.aspectj.weaver
+ org.eclipse.equinox.weaving.hook
+ org.eclipse.equinox.weaving.aspectj (Auto-Start=true)
+
+Specify the following VM arguments:
+
+ -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook
+ -Dorg.eclipse.net4j.trace.listenerType=logger
+ -Dorg.eclipse.net4j.trace.listenerDescription=C:\Develop\cdo-master\trace-file
diff --git a/plugins/org.eclipse.net4j.trace/about.html b/plugins/org.eclipse.net4j.trace/about.html
new file mode 100644
index 0000000000..f2decc3a0d
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/about.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+
+ <head>
+
+ <meta content="text/html; charset=ISO-8859-1"
+ http-equiv="Content-Type"/>
+
+ <title>About</title>
+
+ </head>
+
+ <body lang="EN-US">
+
+ <h2>About This Content</h2>
+
+ <p>May 17, 2007</p>
+
+ <h3>License</h3>
+
+ <p>The Eclipse Foundation makes available all content in this
+ plug-in (&quot;Content&quot;). Unless otherwise indicated below,
+ the Content is provided to you under the terms and conditions of
+ the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of
+ the EPL is available at
+ <a href="http://www.eclipse.org/legal/epl-v10.html">
+ http://www.eclipse.org/legal/epl-v10.html</a>. For purposes of the
+ EPL, &quot;Program&quot; will mean the Content.</p>
+
+ <p>If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ (&quot;Redistributor&quot;) and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor&apos;s license that was provided with the Content. If
+ no such license exists, contact the Redistributor. Unless otherwise
+ indicated below, the terms and conditions of the EPL still apply to
+ any source code in the Content.</p>
+
+ </body>
+
+</html>
+
diff --git a/plugins/org.eclipse.net4j.trace/aop_libs/aop.jar b/plugins/org.eclipse.net4j.trace/aop_libs/aop.jar
new file mode 100644
index 0000000000..5b32f808a7
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/aop_libs/aop.jar
Binary files differ
diff --git a/plugins/org.eclipse.net4j.trace/build-aop-lib.ant b/plugins/org.eclipse.net4j.trace/build-aop-lib.ant
new file mode 100644
index 0000000000..e5593b3f00
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/build-aop-lib.ant
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+ 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
+-->
+<project name="build-aop-lib" default="build-aop-lib" basedir=".">
+
+ <property name="jar.path" value="aop_libs/aop.jar" />
+ <property name="aspect.path" value="org/eclipse/net4j/internal/trace/Aspect.class" />
+ <available property="aspect.exists" file="bin-aop/${aspect.path}" />
+
+ <target name="build-aop-lib" if="aspect.exists">
+ <jar destfile="${jar.path}" update="false">
+ <fileset dir="bin-aop">
+ <include name="${aspect.path}" />
+ </fileset>
+ </jar>
+ </target>
+
+</project>
diff --git a/plugins/org.eclipse.net4j.trace/build.properties b/plugins/org.eclipse.net4j.trace/build.properties
new file mode 100644
index 0000000000..5549e11659
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/build.properties
@@ -0,0 +1,30 @@
+# Copyright (c) 2006, 2007, 2009-2012, 2017 Eike Stepper (Berlin, Germany) and others.
+# 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
+
+# NLS_MESSAGEFORMAT_VAR
+
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties,\
+ .options,\
+ about.html,\
+ plugin.xml,\
+ aop_libs/
+src.includes = about.html,\
+ pom.xml,\
+ build-aop-lib.ant,\
+ component.ext,\
+ Equinox-Aspects.url,\
+ CDOServer (Buffer Tracer).launch,\
+ README.txt
+src.excludes = src-aop/
+
+generateSourceReferences = true
diff --git a/plugins/org.eclipse.net4j.trace/component.ext b/plugins/org.eclipse.net4j.trace/component.ext
new file mode 100644
index 0000000000..8e03e4c386
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/component.ext
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<targlets:ComponentExtension
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:targlets="http://www.eclipse.org/oomph/targlets/1.0"
+ xsi:schemaLocation="http://www.eclipse.org/oomph/targlets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Targlets.ecore">
+ <requirement
+ name="org.eclipse.equinox.weaving.hook"
+ optional="true"/>
+ <requirement
+ name="org.eclipse.equinox.weaving.aspectj"
+ optional="true"/>
+ <requirement
+ name="org.aspectj.weaver"
+ optional="true"/>
+</targlets:ComponentExtension>
diff --git a/plugins/org.eclipse.net4j.trace/plugin.properties b/plugins/org.eclipse.net4j.trace/plugin.properties
new file mode 100644
index 0000000000..910883bc00
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/plugin.properties
@@ -0,0 +1,11 @@
+# Copyright (c) 2006-2010, 2012, 2013 Eike Stepper (Berlin, Germany) and others.
+# 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
+
+pluginName = Net4j Signalling Platform Trace Support
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.net4j.trace/plugin.xml b/plugins/org.eclipse.net4j.trace/plugin.xml
new file mode 100644
index 0000000000..5eec630d1d
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/plugin.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+ 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
+-->
+
+<plugin>
+
+ <extension
+ point="org.eclipse.net4j.util.factories">
+ <factory
+ class="org.eclipse.net4j.internal.trace.Logger$Factory"
+ productGroup="org.eclipse.net4j.trace.listeners"
+ type="logger"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.net4j.trace/pom.xml b/plugins/org.eclipse.net4j.trace/pom.xml
new file mode 100644
index 0000000000..0362635ea7
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/pom.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2017 Eike Stepper (Berlin, Germany) and others.
+ 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
+-->
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.cdo</groupId>
+ <artifactId>org.eclipse.emf.cdo.plugins</artifactId>
+ <version>4.7.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.cdo.releng.parent/plugins</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emf.cdo</groupId>
+ <artifactId>org.eclipse.net4j.trace</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/plugins/org.eclipse.net4j.trace/src-aop/org/eclipse/net4j/internal/trace/Aspect.aj b/plugins/org.eclipse.net4j.trace/src-aop/org/eclipse/net4j/internal/trace/Aspect.aj
new file mode 100644
index 0000000000..81eb18baab
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/src-aop/org/eclipse/net4j/internal/trace/Aspect.aj
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+ * 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.internal.trace;
+
+import org.eclipse.net4j.internal.trace.BufferTracer.Call;
+
+import java.util.Stack;
+
+/**
+ * @author Eike Stepper
+ */
+public aspect Aspect
+{
+ pointcut objectMethods() :
+ execution(public * *.getClass()) ||
+ execution(public * *.toString()) ||
+ execution(public * *.equals(Object)) ||
+ execution(public * *.hashCode()) ||
+ execution(public * *.notify()) ||
+ execution(public * *.notifyAll()) ||
+ execution(public * *.wait()) ||
+ execution(public * *.wait(long, int)) ||
+ execution(public * *.wait(long)) ||
+ execution(* *.clone()) ||
+ execution(* *.finalize());
+
+ pointcut unwantedMethods() :
+ execution(* org.eclipse.internal.net4j.buffer.BufferPool.createBufferRef()) ||
+ execution(* org.eclipse.internal.net4j.buffer.Buffer.getCapacity()) ||
+ execution(* org.eclipse.internal.net4j.buffer.Buffer.getLimit()) ||
+ execution(* org.eclipse.internal.net4j.buffer.Buffer.getPosition()) ||
+ execution(* org.eclipse.internal.net4j.buffer.Buffer.hasRemaining()) ||
+ execution(* org.eclipse.internal.net4j.buffer.Buffer.isEOS()) ||
+ execution(* org.eclipse.internal.net4j.buffer.Buffer.isCCAM()) ||
+ execution(* org.eclipse.net4j.buffer.BufferOutputStream.ensureBufferPrivate()) ||
+ execution(* org.eclipse.net4j.buffer.BufferOutputStream.throwExceptionOnError()) ||
+ execution(* org.eclipse.net4j.buffer.BufferOutputStream.flushIfFilled());
+
+ pointcut relevantMethods(Object target) : target(target) &&
+ !objectMethods() &&
+ !unwantedMethods() &&
+ (
+ execution(* org.eclipse.internal.net4j.buffer.Buffer.*(..)) ||
+ execution(* org.eclipse.internal.net4j.buffer.BufferPool.*(..)) ||
+ execution(* org.eclipse.net4j.buffer.BufferInputStream.*(..)) ||
+ execution(* org.eclipse.net4j.buffer.BufferOutputStream.*(..)) ||
+ execution(* org.eclipse.spi.net4j.Channel.*(..)) ||
+ execution(* org.eclipse.spi.net4j.Channel.SendQueue.*(..)) ||
+ execution(* org.eclipse.spi.net4j.Channel.ReceiveSerializer2.*(..)) ||
+ execution(* org.eclipse.net4j.channel.ChannelInputStream.*(..)) ||
+ execution(* org.eclipse.net4j.channel.ChannelOutputStream.*(..)) ||
+ execution(* org.eclipse.spi.net4j.ChannelMultiplexer.*(..)) ||
+ execution(* org.eclipse.spi.net4j.Connector.*(..)) ||
+ execution(* org.eclipse.spi.net4j.Protocol.*(..)) ||
+ execution(* org.eclipse.net4j.signal.SignalProtocol.*(..)) ||
+ execution(* org.eclipse.net4j.signal.SignalProtocol.SignalInputStream.*(..)) ||
+ execution(* org.eclipse.net4j.signal.SignalProtocol.SignalOutputStream.*(..)) ||
+ execution(* org.eclipse.net4j.signal.Signal.*(..)) ||
+ execution(* org.eclipse.net4j.signal.SignalActor.*(..)) ||
+ execution(* org.eclipse.net4j.signal.SignalReactor.*(..)) ||
+ execution(* org.eclipse.net4j.internal.jvm.JVMConnector.*(..)) ||
+ execution(* org.eclipse.net4j.internal.jvm.JVMChannel.*(..)) ||
+ execution(* org.eclipse.net4j.internal.tcp.TCPConnector.*(..)) ||
+ execution(* org.eclipse.net4j.internal.tcp.TCPClientConnector.*(..)) ||
+ execution(* org.eclipse.net4j.internal.tcp.TCPServerConnector.*(..))
+ );
+
+ Object around(Object target) : relevantMethods(target)
+ {
+ String what = thisJoinPointStaticPart.getSignature().getName();
+ Stack<Call> callStack = BufferTracer.execution(target, what, null);
+
+ try
+ {
+ return proceed(target);
+ }
+ finally
+ {
+ BufferTracer.execution(target, what, callStack);
+ }
+ }
+
+ before(Thread thread, String name) :
+ execution(public static void org.eclipse.net4j.util.concurrent.ConcurrencyUtil.setThreadName(..)) &&
+ args(thread, name)
+ {
+ BufferTracer.setThreadName(thread, name);
+ }
+}
diff --git a/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/BufferTracer.java b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/BufferTracer.java
new file mode 100644
index 0000000000..ef9acb1181
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/BufferTracer.java
@@ -0,0 +1,230 @@
+/*
+ * Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+ * 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.internal.trace;
+
+import org.eclipse.net4j.buffer.BufferState;
+import org.eclipse.net4j.buffer.IBuffer;
+import org.eclipse.net4j.trace.Element;
+import org.eclipse.net4j.trace.Element.BufferElement;
+import org.eclipse.net4j.trace.Element.ThreadElement;
+import org.eclipse.net4j.trace.Listener;
+import org.eclipse.net4j.util.collection.CloseableIterator;
+import org.eclipse.net4j.util.container.IPluginContainer;
+import org.eclipse.net4j.util.om.OMPlatform;
+import org.eclipse.net4j.util.om.log.RollingLog;
+import org.eclipse.net4j.util.om.log.RollingLog.LogLine;
+
+import java.util.Stack;
+
+/**
+ * @author Eike Stepper
+ */
+public class BufferTracer
+{
+ public static final Listener LISTENER = createListener();
+
+ private static final ThreadLocal<Stack<Call>> CALL_STACKS = new ThreadLocal<Stack<Call>>()
+ {
+ @Override
+ protected Stack<Call> initialValue()
+ {
+ return new Stack<Call>();
+ }
+ };
+
+ private static final ThreadLocal<Boolean> EXECUTION = new ThreadLocal<Boolean>();
+
+ public static void setThreadName(Thread thread, String name)
+ {
+ Element element = Element.getOrNull(thread);
+ if (element instanceof ThreadElement)
+ {
+ ThreadElement threadElement = (ThreadElement)element;
+ threadElement.setName(name);
+ }
+ }
+
+ public static void main(String[] args)
+ {
+ for (CloseableIterator<LogLine> it = RollingLog.iterator("C:\\Develop\\cdo-master\\trace"); it.hasNext();)
+ {
+ LogLine logLine = it.next();
+ System.out.println(logLine);
+ }
+ }
+
+ public static Stack<Call> execution(Object object, String method, Stack<Call> callStack)
+ {
+ if (EXECUTION.get() == null)
+ {
+ try
+ {
+ EXECUTION.set(Boolean.TRUE);
+
+ if (callStack == null)
+ {
+ callStack = CALL_STACKS.get();
+
+ Call lastCall = callStack.isEmpty() ? null : callStack.peek();
+ if (lastCall != null)
+ {
+ Object owner = lastCall.getObject();
+ Element caller = Element.get(owner);
+ Element callee = Element.get(object);
+
+ if (object instanceof IBuffer)
+ {
+ ((BufferElement)callee).setOwner(owner);
+ }
+
+ LISTENER.methodCalled(caller, lastCall.getMethod(), callee, method);
+ }
+
+ callStack.push(new Call(object, method));
+ }
+ else
+ {
+ callStack.pop();
+
+ if (object instanceof IBuffer)
+ {
+ IBuffer buffer = (IBuffer)object;
+ Call lastCall = callStack.peek();
+ if (lastCall != null)
+ {
+ handleBuffer(buffer, lastCall.getObject(), lastCall.getMethod(), method);
+ }
+ }
+ }
+ }
+ catch (Throwable ex)
+ {
+ ex.printStackTrace();
+ }
+ finally
+ {
+ EXECUTION.remove();
+ }
+ }
+
+ return callStack;
+ }
+
+ private static void handleBuffer(IBuffer buffer, Object caller, String callingMethod, String calledMethod)
+ {
+ // System.out.println(
+ // "---- [" + Thread.currentThread().getName() + "] " + caller.getClass().getSimpleName() + "." + callingMethod + "()
+ // --> " + calledMethod + "()");
+
+ BufferElement element = Element.get(buffer);
+
+ if ("setBufferProvider".equals(calledMethod))
+ {
+ element.setProvider(buffer.getBufferProvider());
+ }
+ else
+ {
+ element.update(buffer.getState(), buffer.getPosition(), buffer.getLimit(), buffer.isEOS(), buffer.isCCAM());
+ }
+ }
+
+ private static Listener createListener()
+ {
+ String type = OMPlatform.INSTANCE.getProperty("org.eclipse.net4j.trace.listenerType");
+ if (type != null)
+ {
+ String description = OMPlatform.INSTANCE.getProperty("org.eclipse.net4j.trace.listenerDescription");
+ return (Listener)IPluginContainer.INSTANCE.getElement(Listener.Factory.PRODUCT_GROUP, type, description);
+ }
+
+ return new DefaultListener();
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class Call
+ {
+ private final Object object;
+
+ private final String method;
+
+ public Call(Object object, String method)
+ {
+ this.object = object;
+ this.method = method;
+ }
+
+ public Object getObject()
+ {
+ return object;
+ }
+
+ public String getMethod()
+ {
+ return method;
+ }
+
+ @Override
+ public String toString()
+ {
+ StringBuilder builder = new StringBuilder();
+ builder.append("Call[object=");
+ builder.append(object);
+ builder.append(", method=");
+ builder.append(method);
+ builder.append("]");
+ return builder.toString();
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private static final class DefaultListener implements Listener
+ {
+ public void methodCalled(Element caller, String callingMethod, Element callee, String calledMethod)
+ {
+ }
+
+ public void elementCreated(Element element)
+ {
+ }
+
+ public void ownerChanged(BufferElement element, Element oldOwner, Element newOwner)
+ {
+ }
+
+ public void threadChanged(BufferElement element, Element oldThread, Element newThread)
+ {
+ }
+
+ public void stateChanged(BufferElement element, BufferState oldState, BufferState newState)
+ {
+ }
+
+ public void positionChanged(BufferElement element, int oldPosition, int newPosition)
+ {
+ }
+
+ public void limitChanged(BufferElement element, int oldLimit, int newLimit)
+ {
+ }
+
+ public void eosChanged(BufferElement element, boolean newEOS)
+ {
+ }
+
+ public void ccamChanged(BufferElement element, boolean newCCAM)
+ {
+ }
+ }
+}
diff --git a/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/ElementCounters.java b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/ElementCounters.java
new file mode 100644
index 0000000000..98bbaf7426
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/ElementCounters.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+ * 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.internal.trace;
+
+import org.eclipse.net4j.trace.Element.BufferElement;
+import org.eclipse.net4j.util.ReflectUtil;
+
+import org.eclipse.internal.net4j.buffer.Buffer;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * @author Eike Stepper
+ */
+public final class ElementCounters
+{
+ public static final ElementCounters INSTANCE = new ElementCounters();
+
+ private final Map<String, AtomicInteger> map = new HashMap<String, AtomicInteger>();
+
+ private ElementCounters()
+ {
+ }
+
+ public int nextID(String type)
+ {
+ AtomicInteger counter = map.get(type);
+ if (counter == null)
+ {
+ counter = new AtomicInteger();
+ map.put(type, counter);
+ }
+
+ return counter.incrementAndGet();
+ }
+
+ public void load(Properties properties)
+ {
+ String lastBufferID = (String)properties.remove(BufferElement.TYPE);
+ if (lastBufferID != null)
+ {
+ AtomicInteger lastID = getBufferCounter();
+ lastID.set(Integer.parseInt(lastBufferID));
+ }
+
+ map.clear();
+ for (Map.Entry<Object, Object> entry : properties.entrySet())
+ {
+ String type = (String)entry.getKey();
+ int counter = Integer.parseInt((String)entry.getValue());
+ map.put(type, new AtomicInteger(counter));
+ }
+ }
+
+ public void save(Properties properties)
+ {
+ for (Map.Entry<String, AtomicInteger> entry : map.entrySet())
+ {
+ String type = entry.getKey();
+ AtomicInteger counter = entry.getValue();
+ properties.setProperty(type, Integer.toString(counter.get()));
+ }
+
+ AtomicInteger lastID = getBufferCounter();
+ int lastBufferID = lastID.get();
+ properties.setProperty(BufferElement.TYPE, Integer.toString(lastBufferID));
+ }
+
+ private static AtomicInteger getBufferCounter()
+ {
+ return (AtomicInteger)ReflectUtil.getValue(ReflectUtil.getField(Buffer.class, "lastID"), null);
+ }
+}
diff --git a/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/LogAnalyzer.java b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/LogAnalyzer.java
new file mode 100644
index 0000000000..f2113279fe
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/LogAnalyzer.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+ * 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.internal.trace;
+
+import org.eclipse.net4j.util.collection.CloseableIterator;
+import org.eclipse.net4j.util.om.log.RollingLog;
+import org.eclipse.net4j.util.om.log.RollingLog.LogLine;
+
+/**
+ * @author Eike Stepper
+ */
+public class LogAnalyzer
+{
+ public static void analyzeLog(String logFile, int bufferID)
+ {
+ for (CloseableIterator<LogLine> it = RollingLog.iterator("C:\\Develop\\cdo-master\\trace"); it.hasNext();)
+ {
+ LogLine logLine = it.next();
+ System.out.println(logLine);
+ }
+ }
+
+ public static void main(String[] args)
+ {
+ String logFile = args[0];
+ int bufferID = Integer.parseInt(args[1]);
+ analyzeLog(logFile, bufferID);
+ }
+}
diff --git a/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/Logger.java b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/Logger.java
new file mode 100644
index 0000000000..99a10d64a6
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/Logger.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright (c) 2004-2017 Eike Stepper (Berlin, Germany) and others.
+ * 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.internal.trace;
+
+import org.eclipse.net4j.buffer.BufferState;
+import org.eclipse.net4j.trace.Element;
+import org.eclipse.net4j.trace.Element.BufferElement;
+import org.eclipse.net4j.trace.Listener;
+import org.eclipse.net4j.util.StringUtil;
+import org.eclipse.net4j.util.factory.ProductCreationException;
+import org.eclipse.net4j.util.om.log.RollingLog;
+
+import java.util.Map;
+import java.util.Properties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @author Eike Stepper
+ */
+public class Logger extends RollingLog implements Listener
+{
+ private static final Pattern INIT_PATTERN = Pattern.compile("([A-Za-z_$][A-Za-z\\d_$]+)\\[(\\d+)\\].init\\(\\)");
+
+ public Logger(String logFile, long logSize, boolean append)
+ {
+ super(logFile, logSize, append);
+ }
+
+ public void methodCalled(Element caller, String callingMethod, Element callee, String calledMethod)
+ {
+ log(caller + "." + callingMethod + "()\t" + callee + "." + calledMethod + "()");
+ }
+
+ public void elementCreated(Element element)
+ {
+ log(element + ".init()");
+ }
+
+ public void ownerChanged(BufferElement element, Element oldOwner, Element newOwner)
+ {
+ log("\t\t" + element + ".owner = " + newOwner);
+ }
+
+ public void threadChanged(BufferElement element, Element oldThread, Element newThread)
+ {
+ String warning;
+ if (oldThread != null && newThread != null)
+ {
+ warning = " (was " + oldThread + ")";
+ }
+ else
+ {
+ warning = "";
+ }
+
+ log("\t\t" + element + ".thread = " + newThread + warning);
+ }
+
+ public void stateChanged(BufferElement element, BufferState oldState, BufferState newState)
+ {
+ log("\t\t" + element + ".state = " + newState);
+ }
+
+ public void positionChanged(BufferElement element, int oldPosition, int newPosition)
+ {
+ log("\t\t" + element + ".position = " + newPosition);
+ }
+
+ public void limitChanged(BufferElement element, int oldLimit, int newLimit)
+ {
+ log("\t\t" + element + ".limit = " + newLimit);
+ }
+
+ public void eosChanged(BufferElement element, boolean newEOS)
+ {
+ log("\t\t" + element + ".eos = " + newEOS);
+ }
+
+ public void ccamChanged(BufferElement element, boolean newCCAM)
+ {
+ log("\t\t" + element + ".ccam = " + newCCAM);
+ }
+
+ @Override
+ protected String getThreadInfo()
+ {
+ return Element.get(Thread.currentThread()).toString();
+ }
+
+ @Override
+ protected void load(Properties properties)
+ {
+ ElementCounters.INSTANCE.load(properties);
+ }
+
+ @Override
+ protected void save(Properties properties)
+ {
+ ElementCounters.INSTANCE.save(properties);
+ }
+
+ @Override
+ protected void recovery(Properties properties, LogLine logLine)
+ {
+ String message = logLine.getMessage();
+ Matcher matcher = INIT_PATTERN.matcher(message);
+ if (matcher.matches())
+ {
+ String type = matcher.group(1);
+ String id = matcher.group(2);
+ properties.setProperty(type, id);
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class Factory extends Listener.Factory
+ {
+ public static final String TYPE = "logger";
+
+ public Factory()
+ {
+ super(TYPE);
+ }
+
+ @Override
+ protected Logger create(Map<String, String> properties) throws ProductCreationException
+ {
+ String logFile = properties.get(DEFAULT_KEY);
+ if (StringUtil.isEmpty(logFile))
+ {
+ logFile = "buffers";
+ }
+
+ String logSize = properties.get("size");
+ if (StringUtil.isEmpty(logSize))
+ {
+ logSize = "100000000";
+ }
+
+ String append = properties.get("append"); //$NON-NLS-1$
+ if (StringUtil.isEmpty(append))
+ {
+ append = Boolean.TRUE.toString();
+ }
+
+ return new Logger(logFile, Long.parseLong(logSize), Boolean.parseBoolean(append));
+ }
+ }
+}
diff --git a/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/bundle/OM.java b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/bundle/OM.java
new file mode 100644
index 0000000000..7b07ea09bc
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/internal/trace/bundle/OM.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2007-2012, 2015 Eike Stepper (Berlin, Germany) and others.
+ * 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.internal.trace.bundle;
+
+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;
+
+/**
+ * The <em>Operations & Maintenance</em> class of this bundle.
+ *
+ * @author Eike Stepper
+ */
+public abstract class OM
+{
+ public static final String BUNDLE_ID = "org.eclipse.net4j.trace"; //$NON-NLS-1$
+
+ public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class);
+
+ public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$
+
+ public static final OMLogger LOG = BUNDLE.logger();
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class Activator extends OSGiActivator
+ {
+ public Activator()
+ {
+ super(BUNDLE);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/trace/Element.java b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/trace/Element.java
new file mode 100644
index 0000000000..2c566dfc01
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/trace/Element.java
@@ -0,0 +1,285 @@
+/*
+ * Copyright (c) 2018 Eike Stepper (Berlin, Germany) and others.
+ * 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.trace;
+
+import org.eclipse.net4j.buffer.BufferState;
+import org.eclipse.net4j.buffer.IBuffer;
+import org.eclipse.net4j.internal.trace.BufferTracer;
+import org.eclipse.net4j.internal.trace.ElementCounters;
+
+import org.eclipse.internal.net4j.buffer.Buffer;
+
+import java.util.Map;
+import java.util.WeakHashMap;
+
+/**
+ * @author Eike Stepper
+ */
+public class Element
+{
+ private static final Map<Object, Element> ELEMENTS = new WeakHashMap<Object, Element>();
+
+ private final int id;
+
+ private final String type;
+
+ protected Element(int id, String type)
+ {
+ this.type = type;
+ this.id = id;
+ }
+
+ public Element(String type)
+ {
+ this(ElementCounters.INSTANCE.nextID(type), type);
+ }
+
+ public final int id()
+ {
+ return id;
+ }
+
+ public final String type()
+ {
+ return type;
+ }
+
+ @Override
+ public String toString()
+ {
+ return type + "[" + id + "]";
+ }
+
+ public static Element getOrNull(Object object)
+ {
+ synchronized (ELEMENTS)
+ {
+ return ELEMENTS.get(object);
+ }
+ }
+
+ public static Element get(Object object)
+ {
+ Element element;
+ boolean created = false;
+
+ synchronized (ELEMENTS)
+ {
+ element = ELEMENTS.get(object);
+ if (element == null)
+ {
+ if (object instanceof Buffer)
+ {
+ Buffer buffer = (Buffer)object;
+ element = new BufferElement(buffer.getID());
+ created = true;
+ }
+ else if (object instanceof Thread)
+ {
+ Thread thread = (Thread)object;
+ element = new ThreadElement(thread.getName());
+ }
+ else
+ {
+ element = new Element(object.getClass().getSimpleName());
+ created = true;
+ }
+
+ ELEMENTS.put(object, element);
+ }
+ }
+
+ if (created && BufferTracer.LISTENER != null)
+ {
+ BufferTracer.LISTENER.elementCreated(element);
+ }
+
+ return element;
+ }
+
+ public static BufferElement get(IBuffer buffer)
+ {
+ return (BufferElement)get((Object)buffer);
+ }
+
+ public static ThreadElement get(Thread thread)
+ {
+ return (ThreadElement)get((Object)thread);
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class ThreadElement extends Element
+ {
+ public static final String TYPE = "Thread";
+
+ private String name;
+
+ public ThreadElement(String name)
+ {
+ super(TYPE);
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ @Override
+ public String toString()
+ {
+ return type() + "[" + id() + ", " + name + "]";
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class BufferElement extends Element
+ {
+ public static final String TYPE = "Buffer";
+
+ private Element provider;
+
+ private Element owner;
+
+ private Element thread;
+
+ private BufferState state;
+
+ private int position;
+
+ private int limit;
+
+ private boolean eos;
+
+ private boolean ccam;
+
+ public BufferElement(int id)
+ {
+ super(id, TYPE);
+ }
+
+ public Element getProvider()
+ {
+ return provider;
+ }
+
+ public void setProvider(Object object)
+ {
+ provider = get(object);
+ }
+
+ public Element getOwner()
+ {
+ return owner;
+ }
+
+ public void setOwner(Object object)
+ {
+ updateThread();
+
+ Element newOwner = get(object);
+ if (owner != newOwner && newOwner.getClass() != BufferElement.class)
+ {
+ Element oldOwner = owner;
+ owner = newOwner;
+ BufferTracer.LISTENER.ownerChanged(this, oldOwner, newOwner);
+ }
+ }
+
+ public Element getThread()
+ {
+ return thread;
+ }
+
+ public BufferState getState()
+ {
+ return state;
+ }
+
+ public int getPosition()
+ {
+ return position;
+ }
+
+ public int getLimit()
+ {
+ return limit;
+ }
+
+ public boolean isEOS()
+ {
+ return eos;
+ }
+
+ public boolean isCCAM()
+ {
+ return ccam;
+ }
+
+ public void update(BufferState newState, int newPosition, int newLimit, boolean newEOS, boolean newCCAM)
+ {
+ updateThread();
+
+ if (state != newState)
+ {
+ BufferState oldState = state;
+ state = newState;
+ BufferTracer.LISTENER.stateChanged(this, oldState, newState);
+ }
+
+ if (position != newPosition)
+ {
+ int oldPosition = position;
+ position = newPosition;
+ BufferTracer.LISTENER.positionChanged(this, oldPosition, newPosition);
+ }
+
+ if (limit != newLimit)
+ {
+ int oldLimit = limit;
+ limit = newLimit;
+ BufferTracer.LISTENER.limitChanged(this, oldLimit, newLimit);
+ }
+
+ if (eos != newEOS)
+ {
+ eos = newEOS;
+ BufferTracer.LISTENER.eosChanged(this, newEOS);
+ }
+
+ if (ccam != newCCAM)
+ {
+ ccam = newCCAM;
+ BufferTracer.LISTENER.ccamChanged(this, newCCAM);
+ }
+ }
+
+ private void updateThread()
+ {
+ Element newThread = state == BufferState.RELEASED ? null : get(Thread.currentThread());
+ if (thread != newThread)
+ {
+ Element oldThread = thread;
+ thread = newThread;
+ BufferTracer.LISTENER.threadChanged(this, oldThread, newThread);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/trace/Listener.java b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/trace/Listener.java
new file mode 100644
index 0000000000..f3bbb34f99
--- /dev/null
+++ b/plugins/org.eclipse.net4j.trace/src/org/eclipse/net4j/trace/Listener.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2004-2017 Eike Stepper (Berlin, Germany) and others.
+ * 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.trace;
+
+import org.eclipse.net4j.buffer.BufferState;
+import org.eclipse.net4j.trace.Element.BufferElement;
+import org.eclipse.net4j.util.factory.ProductCreationException;
+
+import java.util.Map;
+
+/**
+ * @author Eike Stepper
+ */
+public interface Listener
+{
+ public void methodCalled(Element caller, String callingMethod, Element callee, String calledMethod);
+
+ public void elementCreated(Element element);
+
+ public void ownerChanged(BufferElement element, Element oldOwner, Element newOwner);
+
+ public void threadChanged(BufferElement element, Element oldThread, Element newThread);
+
+ public void stateChanged(BufferElement element, BufferState oldState, BufferState newState);
+
+ public void positionChanged(BufferElement element, int oldPosition, int newPosition);
+
+ public void limitChanged(BufferElement element, int oldLimit, int newLimit);
+
+ public void eosChanged(BufferElement element, boolean newEOS);
+
+ public void ccamChanged(BufferElement element, boolean newCCAM);
+
+ /**
+ * @author Eike Stepper
+ */
+ public static abstract class Factory extends org.eclipse.net4j.util.factory.PropertiesFactory
+ {
+ public static final String PRODUCT_GROUP = "org.eclipse.net4j.trace.listeners";
+
+ public Factory(String type)
+ {
+ super(PRODUCT_GROUP, type);
+ }
+
+ @Override
+ protected abstract Listener create(Map<String, String> properties) throws ProductCreationException;
+ }
+}
diff --git a/plugins/org.eclipse.net4j.util/.settings/.api_filters b/plugins/org.eclipse.net4j.util/.settings/.api_filters
index 2db4c6a751..88b6121aac 100644
--- a/plugins/org.eclipse.net4j.util/.settings/.api_filters
+++ b/plugins/org.eclipse.net4j.util/.settings/.api_filters
@@ -1,5 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.net4j.util" version="2">
+ <resource path="src/org/eclipse/net4j/internal/util/bundle/AbstractBundle.java" type="org.eclipse.net4j.internal.util.bundle.AbstractBundle">
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="OMBundle"/>
+ <message_argument value="AbstractBundle"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="src/org/eclipse/net4j/util/collection/FastList.java" type="org.eclipse.net4j.util.collection.FastList">
<filter id="338792546">
<message_arguments>
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/RollingLog.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/RollingLog.java
index 7d93a9475e..ae1c2cfeeb 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/RollingLog.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/RollingLog.java
@@ -15,11 +15,14 @@ import org.eclipse.net4j.util.StringUtil;
import org.eclipse.net4j.util.collection.AbstractIterator;
import org.eclipse.net4j.util.collection.CloseableIterator;
import org.eclipse.net4j.util.concurrent.Worker;
+import org.eclipse.net4j.util.event.Event;
+import org.eclipse.net4j.util.event.IListener;
import org.eclipse.net4j.util.io.IOUtil;
import org.eclipse.net4j.util.om.log.RollingLog.LogLine;
import java.io.BufferedReader;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
@@ -27,6 +30,7 @@ import java.io.IOException;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
+import java.util.Properties;
import java.util.StringTokenizer;
import java.util.concurrent.atomic.AtomicLong;
@@ -36,16 +40,26 @@ import java.util.concurrent.atomic.AtomicLong;
*/
public class RollingLog extends Worker implements Log, Iterable<LogLine>
{
+ private static final String PROP_FILE_NUMBER = "RollingLog.fileNumber";
+
+ private static final String PROP_LOG_LINE_COUNTER = "RollingLog.logLineCounter";
+
private final String logFile;
private final long logSize;
private final AtomicLong logLineCounter = new AtomicLong(0);
+ private final AtomicLong lastWrittenID = new AtomicLong(-1);
+
private int fileNumber;
private boolean fileAppend;
+ private long writeInterval = 100L;
+
+ private boolean writeBulk = true;
+
private List<LogLine> queue = new ArrayList<LogLine>();
public RollingLog(String logFile, long logSize, boolean append)
@@ -67,6 +81,36 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
return logSize;
}
+ public final long getLogLineCounter()
+ {
+ return logLineCounter.get();
+ }
+
+ public final int getFileNumber()
+ {
+ return fileNumber;
+ }
+
+ public long getWriteInterval()
+ {
+ return writeInterval;
+ }
+
+ public void setWriteInterval(long writeInterval)
+ {
+ this.writeInterval = writeInterval;
+ }
+
+ public boolean isWriteBulk()
+ {
+ return writeBulk;
+ }
+
+ public void setWriteBulk(boolean writeBulk)
+ {
+ this.writeBulk = writeBulk;
+ }
+
public final void log(String message)
{
LogLine logLine = createLogLine(message);
@@ -79,6 +123,23 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
}
}
+ public final void commit() throws InterruptedException
+ {
+ long id;
+ synchronized (this)
+ {
+ id = logLineCounter.get();
+ }
+
+ synchronized (lastWrittenID)
+ {
+ while (lastWrittenID.get() < id)
+ {
+ lastWrittenID.wait(100L);
+ }
+ }
+ }
+
@Override
protected final void work(WorkContext context) throws Exception
{
@@ -89,7 +150,7 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
{
try
{
- wait(100);
+ wait(writeInterval);
}
catch (InterruptedException ex)
{
@@ -99,11 +160,27 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
context.nextWork();
}
- logLines = queue;
- queue = new ArrayList<LogLine>();
+ if (writeBulk)
+ {
+ logLines = queue;
+ queue = new ArrayList<LogLine>();
+ }
+ else
+ {
+ logLines = new ArrayList<LogLine>();
+ logLines.add(queue.remove(0));
+ }
}
- writeLogLines(logLines);
+ long lastID = writeLogLines(logLines);
+ if (lastID != -1)
+ {
+ synchronized (lastWrittenID)
+ {
+ lastWrittenID.set(lastID);
+ lastWrittenID.notifyAll();
+ }
+ }
}
protected LogLine createLogLine(String message)
@@ -114,7 +191,7 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
return new LogLine(millis, thread, message);
}
- protected void writeLogLines(List<LogLine> logLines)
+ protected long writeLogLines(List<LogLine> logLines)
{
if (logFile != null)
{
@@ -122,11 +199,10 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
try
{
- File file = getFile();
+ File file = getCurrentLogFile();
out = new PrintStream(new FileOutputStream(file, fileAppend));
- writeLogLines(logLines, out);
- out.close();
+ return writeLogLines(logLines, out);
}
catch (IOException ex)
{
@@ -140,16 +216,22 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
}
else
{
- writeLogLines(logLines, System.out);
+ return writeLogLines(logLines, System.out);
}
+
+ return -1;
}
- protected void writeLogLines(List<LogLine> logLines, PrintStream out)
+ protected long writeLogLines(List<LogLine> logLines, PrintStream out)
{
+ long lastID = -1;
for (LogLine logLine : logLines)
{
writeLogLine(logLine, out);
+ lastID = logLine.getID();
}
+
+ return lastID;
}
protected void writeLogLine(LogLine logLine, PrintStream out)
@@ -167,26 +249,47 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
{
if (fileAppend)
{
- int number = getLastFileNumber();
- if (number == -1)
+ File propertiesFile = getPropertiesFile();
+ if (propertiesFile.isFile())
{
- fileAppend = false;
+ load(propertiesFile);
+ propertiesFile.delete();
}
else
{
- long lastID = 0;
-
- for (LogIterator iterator = new LogIterator(logFile, number); iterator.hasNext();)
- {
- LogLine logLine = iterator.next();
- lastID = logLine.getID();
- }
-
- logLineCounter.set(lastID);
+ init();
}
}
super.doActivate();
+ log("Log activated");
+ }
+
+ @Override
+ protected void doDeactivate() throws Exception
+ {
+ log("Log deactivated");
+ commit();
+
+ File propertiesFile = getPropertiesFile();
+ save(propertiesFile);
+
+ super.doDeactivate();
+ }
+
+ protected void recovery(Properties properties, LogLine logLine)
+ {
+ // Do nothing.
+ }
+
+ protected void load(Properties properties)
+ {
+ // Do nothing.
+ }
+
+ protected void save(Properties properties)
+ {
+ // Do nothing.
}
private int getLastFileNumber()
@@ -206,7 +309,7 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
return lastFileNumber;
}
- private File getFile()
+ private File getCurrentLogFile()
{
File file;
@@ -216,6 +319,8 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
if (fileAppend && file.length() > logSize)
{
+ fireEvent(new SplitEvent(this, file, fileNumber));
+
fileNumber++;
fileAppend = false;
continue;
@@ -226,9 +331,114 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
return file;
}
- private static File getFile(String logFile, int fileNumber)
+ private File getPropertiesFile()
{
- return new File(logFile + String.format("-%04d", fileNumber) + ".txt");
+ return new File(getLogFile() + ".properties");
+ }
+
+ private void init()
+ {
+ int number = getLastFileNumber();
+ if (number == -1)
+ {
+ fileAppend = false;
+ }
+ else
+ {
+ recover(number);
+ }
+ }
+
+ private void recover(int lastFileNumber)
+ {
+ Properties properties = new Properties();
+ IListener[] listeners = getListeners();
+ long lastID = 0;
+
+ for (LogIterator iterator = new LogIterator(logFile, lastFileNumber); iterator.hasNext();)
+ {
+ LogLine logLine = iterator.next();
+ lastID = logLine.getID();
+
+ recovery(properties, logLine);
+
+ if (listeners != null)
+ {
+ fireEvent(new RecoveryEvent(this, properties, logLine), listeners);
+ }
+ }
+
+ logLineCounter.set(lastID);
+ fileNumber = lastFileNumber;
+
+ loadInternal(properties);
+ }
+
+ private void load(File file) throws IOException
+ {
+ FileInputStream in = new FileInputStream(file);
+ Properties properties = new Properties();
+
+ try
+ {
+ properties.load(in);
+ }
+ finally
+ {
+ in.close();
+ }
+
+ String logLineCounterStr = (String)properties.remove(PROP_LOG_LINE_COUNTER);
+ if (logLineCounterStr != null)
+ {
+ logLineCounter.set(Long.parseLong(logLineCounterStr));
+ }
+
+ String fileNumberStr = (String)properties.remove(PROP_FILE_NUMBER);
+ if (fileNumberStr != null)
+ {
+ fileNumber = Integer.parseInt(fileNumberStr);
+ }
+
+ loadInternal(properties);
+ }
+
+ private void loadInternal(Properties properties)
+ {
+ load(properties);
+ fireEvent(new PropertiesEvent(this, PropertiesEvent.Type.LOAD, properties));
+ }
+
+ private void save(File file) throws IOException
+ {
+ Properties properties = new Properties();
+
+ fireEvent(new PropertiesEvent(this, PropertiesEvent.Type.SAVE, properties));
+ save(properties);
+ saveInternal(properties);
+
+ FileOutputStream out = new FileOutputStream(file);
+
+ try
+ {
+ properties.store(out, RollingLog.class.getSimpleName());
+ }
+ finally
+ {
+ out.close();
+ }
+ }
+
+ private void saveInternal(Properties properties)
+ {
+ properties.setProperty(PROP_LOG_LINE_COUNTER, Long.toString(logLineCounter.get()));
+ properties.setProperty(PROP_FILE_NUMBER, Integer.toString(fileNumber));
+ }
+
+ @Override
+ public String toString()
+ {
+ return "RollingLog[" + logFile + "]";
}
public final CloseableIterator<LogLine> iterator()
@@ -241,25 +451,30 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
return new LogIterator(logFile, 0);
}
+ private static File getFile(String logFile, int fileNumber)
+ {
+ return new File(logFile + String.format("-%04d", fileNumber) + ".txt");
+ }
+
/**
* @author Eike Stepper
*/
private static final class LogIterator extends AbstractIterator<LogLine> implements CloseableIterator<LogLine>
{
private static final int CLOSED = -1;
-
+
private final String logFile;
-
+
private int fileNumber;
-
+
private BufferedReader reader;
-
+
public LogIterator(String logFile, int fileNumber)
{
this.logFile = logFile;
this.fileNumber = fileNumber;
}
-
+
@Override
protected Object computeNextElement()
{
@@ -267,7 +482,7 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
{
return END_OF_DATA;
}
-
+
if (reader == null)
{
File file = getFile(logFile, fileNumber++);
@@ -288,7 +503,7 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
return END_OF_DATA;
}
}
-
+
try
{
String string = reader.readLine();
@@ -298,7 +513,7 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
reader = null;
return computeNextElement();
}
-
+
return new LogLine(string);
}
catch (IOException ex)
@@ -307,14 +522,14 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
return END_OF_DATA;
}
}
-
+
public void close()
{
IOUtil.close(reader);
reader = null;
fileNumber = CLOSED;
}
-
+
public boolean isClosed()
{
return fileNumber == CLOSED;
@@ -327,26 +542,26 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
public static final class LogLine
{
private static final String NL = "\n\r";
-
+
private static final String TAB = "\t";
-
+
private static final String TABNL = TAB + NL;
-
+
private long id;
-
+
private final long millis;
-
+
private final String thread;
-
+
private final String message;
-
+
public LogLine(long millis, String thread, String message)
{
this.millis = millis;
this.thread = StringUtil.translate(thread, TABNL, " ");
this.message = StringUtil.translate(message, NL, " ");
}
-
+
public LogLine(String string)
{
StringTokenizer tokenizer = new StringTokenizer(string, TAB);
@@ -355,31 +570,168 @@ public class RollingLog extends Worker implements Log, Iterable<LogLine>
thread = tokenizer.nextToken();
message = tokenizer.nextToken("").substring(1);
}
-
+
public long getID()
{
return id;
}
-
+
public long getMillis()
{
return millis;
}
-
+
public String getThread()
{
return thread;
}
-
+
public String getMessage()
{
return message;
}
-
+
@Override
public String toString()
{
return id + TAB + millis + TAB + thread + TAB + message;
}
}
+
+ /**
+ * @author Eike Stepper
+ */
+ public static abstract class RollingLogEvent extends Event
+ {
+ private static final long serialVersionUID = 1L;
+
+ public RollingLogEvent(RollingLog rollingLog)
+ {
+ super(rollingLog);
+ }
+
+ @Override
+ public RollingLog getSource()
+ {
+ return (RollingLog)super.getSource();
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class PropertiesEvent extends RollingLogEvent
+ {
+ private static final long serialVersionUID = 1L;
+
+ private final Type type;
+
+ private final Properties properties;
+
+ public PropertiesEvent(RollingLog rollingLog, Type type, Properties properties)
+ {
+ super(rollingLog);
+ this.type = type;
+ this.properties = properties;
+ }
+
+ public Type getType()
+ {
+ return type;
+ }
+
+ public Properties getProperties()
+ {
+ return properties;
+ }
+
+ @Override
+ protected String formatAdditionalParameters()
+ {
+ return "type=" + type + ", properties=" + properties;
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static enum Type
+ {
+ LOAD, SAVE;
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class RecoveryEvent extends RollingLogEvent
+ {
+ private static final long serialVersionUID = 1L;
+
+ private final Properties properties;
+
+ private final LogLine logLine;
+
+ public RecoveryEvent(RollingLog rollingLog, Properties properties, LogLine logLine)
+ {
+ super(rollingLog);
+ this.properties = properties;
+ this.logLine = logLine;
+ }
+
+ public String getProperty(String key)
+ {
+ return properties.getProperty(key);
+ }
+
+ public void setProperty(String key, String value)
+ {
+ properties.setProperty(key, value);
+ }
+
+ public LogLine getLogLine()
+ {
+ return logLine;
+ }
+
+ @Override
+ protected String formatAdditionalParameters()
+ {
+ return "logLine=" + logLine;
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class SplitEvent extends RollingLogEvent
+ {
+ private static final long serialVersionUID = 1L;
+
+ private final File lastFile;
+
+ private final int lastFileNumber;
+
+ public SplitEvent(RollingLog rollingLog, File lastFile, int lastFileNumber)
+ {
+ super(rollingLog);
+ this.lastFile = lastFile;
+ this.lastFileNumber = lastFileNumber;
+ }
+
+ public File getLastFile()
+ {
+ return lastFile;
+ }
+
+ public int getLastFileNumber()
+ {
+ return lastFileNumber;
+ }
+
+ @Override
+ protected String formatAdditionalParameters()
+ {
+ return "lastFile=" + lastFile + ", lastFileNumber=" + lastFileNumber;
+ }
+ }
}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java
index ed1d316934..81252cffef 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java
@@ -30,6 +30,7 @@ import java.nio.ByteBuffer;
import java.nio.channels.ClosedChannelException;
import java.nio.channels.SocketChannel;
import java.text.MessageFormat;
+import java.util.concurrent.atomic.AtomicInteger;
/**
* @author Eike Stepper
@@ -45,9 +46,9 @@ public class Buffer implements InternalBuffer
private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_BUFFER, Buffer.class);
- private static int lastID;
+ private static AtomicInteger lastID = new AtomicInteger();
- private int id = ++lastID;
+ private int id = lastID.incrementAndGet();
private IErrorHandler errorHandler;
@@ -67,6 +68,11 @@ public class Buffer implements InternalBuffer
byteBuffer = ByteBuffer.allocateDirect(capacity);
}
+ public final int getID()
+ {
+ return id;
+ }
+
public boolean isEOS()
{
return (flags & FLAG_EOS) != 0;
@@ -223,16 +229,16 @@ public class Buffer implements InternalBuffer
{
if (payloadSize < 0)
{
- throw new IllegalArgumentException("New limit " + payloadSize + " is < 0" + (isEOS() ? " (EOS)" : ""), ex);
+ throw new IllegalArgumentException(toString() + ": New limit " + payloadSize + " is < 0" + (isEOS() ? " (EOS)" : ""), ex);
}
int capacity = byteBuffer.capacity();
if (payloadSize > capacity)
{
- throw new IllegalArgumentException("New limit " + payloadSize + " is > " + capacity + (isEOS() ? " (EOS)" : ""), ex);
+ throw new IllegalArgumentException(toString() + ": New limit " + payloadSize + " is > " + capacity + (isEOS() ? " (EOS)" : ""), ex);
}
- throw ex;
+ throw new IllegalArgumentException(toString() + ": " + ex.getMessage(), ex);
}
state = BufferState.READING_BODY;
@@ -279,12 +285,12 @@ public class Buffer implements InternalBuffer
{
if (channelID != this.channelID)
{
- throw new IllegalArgumentException("channelID != this.channelID"); //$NON-NLS-1$
+ throw new IllegalArgumentException(toString() + ": channelID != this.channelID"); //$NON-NLS-1$
}
}
else if (state != BufferState.INITIAL)
{
- throw new IllegalStateException("state: " + state); //$NON-NLS-1$
+ throw new IllegalStateException(toString());
}
else
{
@@ -331,7 +337,7 @@ public class Buffer implements InternalBuffer
{
if (channelID == NO_CHANNEL)
{
- throw new IllegalStateException("channelID == NO_CHANNEL"); //$NON-NLS-1$
+ throw new IllegalStateException(toString() + ": channelID == NO_CHANNEL"); //$NON-NLS-1$
}
int payloadSize = byteBuffer.position() - IBuffer.HEADER_SIZE + MAKE_PAYLOAD_SIZE_NON_ZERO;
@@ -358,7 +364,7 @@ public class Buffer implements InternalBuffer
int numBytes = socketChannel.write(byteBuffer);
if (numBytes == -1)
{
- throw new IOException("Channel closed"); //$NON-NLS-1$
+ throw new IOException(toString() + ": Channel closed"); //$NON-NLS-1$
}
if (byteBuffer.hasRemaining())
@@ -411,6 +417,76 @@ public class Buffer implements InternalBuffer
}
}
+ public void compact()
+ {
+ byteBuffer.compact();
+ }
+
+ public int getPosition()
+ {
+ return byteBuffer.position();
+ }
+
+ public void setPosition(int position)
+ {
+ byteBuffer.position(position);
+ }
+
+ public int getLimit()
+ {
+ return byteBuffer.limit();
+ }
+
+ public void setLimit(int limit)
+ {
+ byteBuffer.limit(limit);
+ }
+
+ public boolean hasRemaining()
+ {
+ return byteBuffer.hasRemaining();
+ }
+
+ public byte get()
+ {
+ return byteBuffer.get();
+ }
+
+ public void get(byte[] dst)
+ {
+ byteBuffer.get(dst);
+ }
+
+ public short getShort()
+ {
+ return byteBuffer.getShort();
+ }
+
+ public int getInt()
+ {
+ return byteBuffer.getInt();
+ }
+
+ public String getString()
+ {
+ return BufferUtil.getString(byteBuffer);
+ }
+
+ public void put(byte b)
+ {
+ byteBuffer.put(b);
+ }
+
+ public void put(byte[] src, int offset, int length)
+ {
+ byteBuffer.put(src, offset, length);
+ }
+
+ public void putShort(short value)
+ {
+ byteBuffer.putShort(value);
+ }
+
@Override
public String toString()
{
@@ -481,13 +557,13 @@ public class Buffer implements InternalBuffer
}
}
- private static void readChannel(SocketChannel socketChannel, ByteBuffer buffer) throws ClosedChannelException
+ private void readChannel(SocketChannel socketChannel, ByteBuffer buffer) throws ClosedChannelException
{
try
{
if (socketChannel.read(buffer) == -1)
{
- throw new IOException("Channel has reached end-of-stream");
+ throw new IOException(toString() + ": Channel has reached end-of-stream");
}
}
catch (ClosedChannelException ex)
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferInputStream.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferInputStream.java
index a3ecb14e66..417a879687 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferInputStream.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferInputStream.java
@@ -21,7 +21,6 @@ import org.eclipse.internal.net4j.bundle.OM;
import java.io.IOException;
import java.io.InputStream;
-import java.nio.ByteBuffer;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
@@ -142,21 +141,20 @@ public class BufferInputStream extends InputStream implements IBufferHandler
}
}
- ByteBuffer byteBuffer = currentBuffer.getByteBuffer();
- if (!byteBuffer.hasRemaining())
+ if (!currentBuffer.hasRemaining())
{
// End of stream
return IOUtil.EOF;
}
- final int result = byteBuffer.get() & 0xFF;
+ final int result = currentBuffer.get() & 0xFF;
if (tracerEnabled)
{
TRACER.trace("<-- " + HexUtil.formatByte(result) //$NON-NLS-1$
+ (result >= 32 ? " " + Character.toString((char)result) : "")); //$NON-NLS-1$ //$NON-NLS-2$
}
- if (!byteBuffer.hasRemaining())
+ if (!currentBuffer.hasRemaining())
{
currentBuffer.release();
currentBuffer = null;
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferOutputStream.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferOutputStream.java
index 22cb9b427e..ec4d6be140 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferOutputStream.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/BufferOutputStream.java
@@ -22,7 +22,6 @@ import org.eclipse.internal.net4j.bundle.OM;
import java.io.IOException;
import java.io.OutputStream;
-import java.nio.ByteBuffer;
/**
* An {@link OutputStream output stream} that fragments the written byte sequence into fixed-sized {@link IBuffer
@@ -114,8 +113,7 @@ public class BufferOutputStream extends OutputStream
+ (b >= 32 ? " " + Character.toString((char)b) : "")); //$NON-NLS-1$ //$NON-NLS-2$
}
- ByteBuffer buffer = currentBuffer.getByteBuffer();
- buffer.put((byte)b);
+ currentBuffer.put((byte)b);
}
/**
@@ -140,7 +138,7 @@ public class BufferOutputStream extends OutputStream
*/
private void flushIfFilled() throws IOException
{
- if (currentBuffer != null && !currentBuffer.getByteBuffer().hasRemaining())
+ if (currentBuffer != null && !currentBuffer.hasRemaining())
{
flushPrivate();
}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java
index 9ef535fb12..a72d271043 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBuffer.java
@@ -281,4 +281,74 @@ public interface IBuffer
* @since 2.0
*/
public void setErrorHandler(IErrorHandler errorHandler);
+
+ /**
+ * @since 4.7
+ */
+ public void compact();
+
+ /**
+ * @since 4.7
+ */
+ public int getPosition();
+
+ /**
+ * @since 4.7
+ */
+ public void setPosition(int position);
+
+ /**
+ * @since 4.7
+ */
+ public int getLimit();
+
+ /**
+ * @since 4.7
+ */
+ public void setLimit(int limit);
+
+ /**
+ * @since 4.7
+ */
+ public boolean hasRemaining();
+
+ /**
+ * @since 4.7
+ */
+ public byte get();
+
+ /**
+ * @since 4.7
+ */
+ public void get(byte[] dst);
+
+ /**
+ * @since 4.7
+ */
+ public short getShort();
+
+ /**
+ * @since 4.7
+ */
+ public int getInt();
+
+ /**
+ * @since 4.7
+ */
+ public String getString();
+
+ /**
+ * @since 4.7
+ */
+ public void put(byte b);
+
+ /**
+ * @since 4.7
+ */
+ public void put(byte[] src, int offset, int length);
+
+ /**
+ * @since 4.7
+ */
+ public void putShort(short value);
}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java
index 80ed96cd8a..02f8043379 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/Signal.java
@@ -13,6 +13,7 @@ package org.eclipse.net4j.signal;
import org.eclipse.net4j.buffer.BufferInputStream;
import org.eclipse.net4j.buffer.BufferOutputStream;
import org.eclipse.net4j.util.ReflectUtil;
+import org.eclipse.net4j.util.concurrent.ConcurrencyUtil;
import org.eclipse.net4j.util.io.ExtendedDataInputStream;
import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
import org.eclipse.net4j.util.io.IOTimeoutException;
@@ -150,13 +151,15 @@ public abstract class Signal implements Runnable
public final void run()
{
String threadName = null;
+ Thread currentThread = null;
try
{
if (OM.SET_SIGNAL_THREAD_NAME)
{
threadName = getClass().getSimpleName();
- Thread.currentThread().setName(threadName);
+ currentThread = Thread.currentThread();
+ ConcurrencyUtil.setThreadName(currentThread, threadName);
}
runSync();
@@ -172,7 +175,7 @@ public abstract class Signal implements Runnable
{
if (threadName != null)
{
- Thread.currentThread().setName(threadName + "(FINISHED)"); //$NON-NLS-1$
+ ConcurrencyUtil.setThreadName(currentThread, threadName + "(FINISHED)"); //$NON-NLS-1$
}
}
}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/Channel.java b/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/Channel.java
index 1c914a2f12..e90a51313b 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/Channel.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/Channel.java
@@ -86,17 +86,17 @@ public class Channel extends Lifecycle implements InternalChannel, IExecutorServ
public Location getLocation()
{
- return channelMultiplexer.getLocation();
+ return channelMultiplexer == null ? null : channelMultiplexer.getLocation();
}
public boolean isClient()
{
- return channelMultiplexer.isClient();
+ return channelMultiplexer == null ? false : channelMultiplexer.isClient();
}
public boolean isServer()
{
- return channelMultiplexer.isServer();
+ return channelMultiplexer == null ? false : channelMultiplexer.isServer();
}
public IChannelMultiplexer getMultiplexer()
@@ -441,18 +441,10 @@ public class Channel extends Lifecycle implements InternalChannel, IExecutorServ
}
@Override
- public boolean add(IBuffer o)
- {
- super.add(o);
- added();
- return true;
- }
-
- @Override
public boolean offer(IBuffer o)
{
super.offer(o);
- added();
+ added(o);
return true;
}
@@ -462,19 +454,7 @@ public class Channel extends Lifecycle implements InternalChannel, IExecutorServ
IBuffer result = super.poll();
if (result != null)
{
- removed();
- }
-
- return result;
- }
-
- @Override
- public IBuffer remove()
- {
- IBuffer result = super.remove();
- if (result != null)
- {
- removed();
+ removed(result);
}
return result;
@@ -486,29 +466,29 @@ public class Channel extends Lifecycle implements InternalChannel, IExecutorServ
boolean result = super.remove(o);
if (result)
{
- removed();
+ removed((IBuffer)o);
}
return result;
}
- private void added()
+ private void added(IBuffer buffer)
{
int queueSize = size.incrementAndGet();
IListener[] listeners = getListeners();
if (listeners != null)
{
- fireEvent(new SendQueueEventImpl(Type.ENQUEUED, queueSize), listeners);
+ fireEvent(new SendQueueEventImpl(Channel.this, Type.ENQUEUED, queueSize), listeners);
}
}
- private void removed()
+ private void removed(IBuffer buffer)
{
int queueSize = size.decrementAndGet();
IListener[] listeners = getListeners();
if (listeners != null)
{
- fireEvent(new SendQueueEventImpl(Type.DEQUEUED, queueSize), listeners);
+ fireEvent(new SendQueueEventImpl(Channel.this, Type.DEQUEUED, queueSize), listeners);
}
}
}
@@ -516,17 +496,17 @@ public class Channel extends Lifecycle implements InternalChannel, IExecutorServ
/**
* @author Eike Stepper
*/
- private final class SendQueueEventImpl extends Event implements SendQueueEvent
+ private static final class SendQueueEventImpl extends Event implements SendQueueEvent
{
private static final long serialVersionUID = 1L;
- private Type type;
+ private final Type type;
private final int queueSize;
- private SendQueueEventImpl(Type type, int queueSize)
+ private SendQueueEventImpl(Channel channel, Type type, int queueSize)
{
- super(Channel.this);
+ super(channel);
this.type = type;
this.queueSize = queueSize;
}
diff --git a/releng/org.eclipse.emf.cdo.releng.parent/plugins/pom.xml b/releng/org.eclipse.emf.cdo.releng.parent/plugins/pom.xml
index c7d5b43a42..0b7e620f3b 100644
--- a/releng/org.eclipse.emf.cdo.releng.parent/plugins/pom.xml
+++ b/releng/org.eclipse.emf.cdo.releng.parent/plugins/pom.xml
@@ -143,6 +143,7 @@ Eike Stepper - initial API and implementation
<module>../../../plugins/org.eclipse.net4j.sdk</module>
<module>../../../plugins/org.eclipse.net4j.tcp</module>
<module>../../../plugins/org.eclipse.net4j.tests</module>
+ <module>../../../plugins/org.eclipse.net4j.trace</module>
<module>../../../plugins/org.eclipse.net4j.ui</module>
<module>../../../plugins/org.eclipse.net4j.ui.shared</module>
<module>../../../plugins/org.eclipse.net4j.util</module>
diff --git a/releng/org.eclipse.emf.cdo.releng.parent/tp/org.eclipse.emf.cdo.releng.tp.target b/releng/org.eclipse.emf.cdo.releng.parent/tp/org.eclipse.emf.cdo.releng.tp.target
index eeae2fca75..0efa3b24db 100644
--- a/releng/org.eclipse.emf.cdo.releng.parent/tp/org.eclipse.emf.cdo.releng.tp.target
+++ b/releng/org.eclipse.emf.cdo.releng.parent/tp/org.eclipse.emf.cdo.releng.tp.target
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
-<target name="Generated from CDO" sequenceNumber="16">
+<target name="Generated from CDO" sequenceNumber="17">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="com.db4o" version="0.0.0"/>
@@ -16,6 +16,7 @@
<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.teneo.hibernate" version="0.0.0"/>
<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.equinox.weaving.aspectj" version="0.0.0"/>
<unit id="org.eclipse.gmf.runtime.diagram.ui.actions" version="0.0.0"/>
<unit id="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide" version="0.0.0"/>
<unit id="org.eclipse.gmf.runtime.notation.edit" version="0.0.0"/>
@@ -38,6 +39,7 @@
<repository location="http://download.eclipse.org/nebula/releases/latest"/>
<repository location="http://download.oracle.com/otn_software/oepe/12.2.1.3/mars/repository"/>
<repository location="http://www.elver.org/eclipse/2.1.0/update"/>
+ <repository location="http://download.eclipse.org/tools/ajdt/47_aj9/dev/update"/>
<repository location="http://download.eclipse.org/eclipse/updates/4.8milestones"/>
</location>
</locations>
diff --git a/releng/org.eclipse.emf.cdo.releng/CDO.setup b/releng/org.eclipse.emf.cdo.releng/CDO.setup
index ce9a213c13..bb3bf9cad1 100644
--- a/releng/org.eclipse.emf.cdo.releng/CDO.setup
+++ b/releng/org.eclipse.emf.cdo.releng/CDO.setup
@@ -87,6 +87,10 @@
value="ignore"/>
<setupTask
xsi:type="setup:PreferenceTask"
+ key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE"
+ value="ignore"/>
+ <setupTask
+ xsi:type="setup:PreferenceTask"
key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.unclosedCloseable"
value="ignore"/>
<setupTask
@@ -241,6 +245,8 @@
url="http://download.oracle.com/otn_software/oepe/12.2.1.3/mars/repository"/>
<repository
url="http://www.elver.org/eclipse/2.1.0/update"/>
+ <repository
+ url="${aspectj.repository}"/>
</repositoryList>
<repositoryList
name="Oxygen">
@@ -431,7 +437,7 @@
</operand>
<operand
xsi:type="workingsets:ExclusionPredicate"
- excludedWorkingSet="//@setupTasks.13/@workingSets.1 //@setupTasks.13/@workingSets.2 //@setupTasks.13/@workingSets.3 //@setupTasks.13/@workingSets.7 //@setupTasks.13/@workingSets.8"/>
+ excludedWorkingSet="//@setupTasks.14/@workingSets.1 //@setupTasks.14/@workingSets.2 //@setupTasks.14/@workingSets.3 //@setupTasks.14/@workingSets.7 //@setupTasks.14/@workingSets.8"/>
</predicate>
</workingSet>
<workingSet
@@ -444,7 +450,7 @@
pattern="org\.eclipse\.emf\.cdo\.tests.*"/>
<operand
xsi:type="workingsets:ExclusionPredicate"
- excludedWorkingSet="//@setupTasks.13/@workingSets.7"/>
+ excludedWorkingSet="//@setupTasks.14/@workingSets.7"/>
</predicate>
</workingSet>
<workingSet
@@ -463,7 +469,7 @@
</operand>
<operand
xsi:type="workingsets:ExclusionPredicate"
- excludedWorkingSet="//@setupTasks.13/@workingSets.7"/>
+ excludedWorkingSet="//@setupTasks.14/@workingSets.7"/>
</predicate>
</workingSet>
<workingSet
@@ -476,7 +482,7 @@
pattern="org\.eclipse\.emf\.cdo\.dawn.*"/>
<operand
xsi:type="workingsets:ExclusionPredicate"
- excludedWorkingSet="//@setupTasks.13/@workingSets.7"/>
+ excludedWorkingSet="//@setupTasks.14/@workingSets.7"/>
</predicate>
</workingSet>
<workingSet
@@ -489,7 +495,7 @@
pattern="org\.eclipse\.net4j.*"/>
<operand
xsi:type="workingsets:ExclusionPredicate"
- excludedWorkingSet="//@setupTasks.13/@workingSets.5 //@setupTasks.13/@workingSets.6 //@setupTasks.13/@workingSets.7"/>
+ excludedWorkingSet="//@setupTasks.14/@workingSets.5 //@setupTasks.14/@workingSets.6 //@setupTasks.14/@workingSets.7"/>
</predicate>
</workingSet>
<workingSet
@@ -502,7 +508,7 @@
pattern="org\.eclipse\.net4j\.db.*"/>
<operand
xsi:type="workingsets:ExclusionPredicate"
- excludedWorkingSet="//@setupTasks.13/@workingSets.7"/>
+ excludedWorkingSet="//@setupTasks.14/@workingSets.7"/>
</predicate>
</workingSet>
<workingSet
@@ -524,7 +530,7 @@
</operand>
<operand
xsi:type="workingsets:ExclusionPredicate"
- excludedWorkingSet="//@setupTasks.13/@workingSets.7"/>
+ excludedWorkingSet="//@setupTasks.14/@workingSets.7"/>
</predicate>
</workingSet>
<workingSet
@@ -556,7 +562,7 @@
</operand>
<operand
xsi:type="workingsets:ExclusionPredicate"
- excludedWorkingSet="//@setupTasks.13/@workingSets.7"/>
+ excludedWorkingSet="//@setupTasks.14/@workingSets.7"/>
</predicate>
</workingSet>
</setupTask>
@@ -655,6 +661,31 @@
name="emf-cdo-integration"/>
</setupTask>
</setupTask>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ type="URI"
+ name="aspectj.repository"
+ value="http://download.eclipse.org/tools/ajdt/47_aj9/dev/update"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="INSTALL_AJDT"
+ defaultValue="Skip"
+ label="Install AJDT">
+ <choice
+ value="Skip"/>
+ <choice
+ value="Install"/>
+ <description>The AspectJ Development Tooling is only needed for editing and compiling the buffer tracing aspect in &quot;org.eclipse.net4j.trace&quot;.</description>
+ </setupTask>
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ filter="(INSTALL_AJDT=Install)"
+ label="AJDT">
+ <requirement
+ name="org.eclipse.ajdt.feature.group"/>
+ <repository
+ url="${aspectj.repository}"/>
+ </setupTask>
<stream name="master"
label="4.7 Integration (Photon)">
<setupTask
@@ -771,6 +802,14 @@
pattern="com\.ibm\.db2\.jcc.*"/>
</workingSet>
</setupTask>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ type="BOOLEAN"
+ name="INSTALL_AJDT"
+ value="false"
+ label="Install AJDT">
+ <description>The AspectJ Development Tooling is only needed for editing and compiling the buffer tracing aspect in &quot;org.eclipse.net4j.trace&quot;.</description>
+ </setupTask>
</stream>
<stream name="4.5-maintenance"
label="4.5 Maintenance (Neon)">
@@ -811,5 +850,13 @@
xsi:type="pde:APIBaselineFromTargetTask"
name="CDO 4.5"
targetName="Baseline Target"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ type="BOOLEAN"
+ name="INSTALL_AJDT"
+ value="false"
+ label="Install AJDT">
+ <description>The AspectJ Development Tooling is only needed for editing and compiling the buffer tracing aspect in &quot;org.eclipse.net4j.trace&quot;.</description>
+ </setupTask>
</stream>
</setup:Project>

Back to the top