Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-05-19 02:55:56 -0400
committerEike Stepper2010-05-19 02:55:56 -0400
commitebaf88aa6483283aa47c0f55cf030050ac8d2ab0 (patch)
tree9615380a4fcd91776daf457f91b4f7289a0b5a7e
parentf5afc7145644c6c00cac88020836cd8a9278f97a (diff)
downloadcdo-ebaf88aa6483283aa47c0f55cf030050ac8d2ab0.tar.gz
cdo-ebaf88aa6483283aa47c0f55cf030050ac8d2ab0.tar.xz
cdo-ebaf88aa6483283aa47c0f55cf030050ac8d2ab0.zip
preparing RC1
-rw-r--r--features/org.eclipse.emf.cdo.dawn-feature/build.properties2
-rw-r--r--features/org.eclipse.emf.cdo.dawn-feature/copyright.txt2
-rw-r--r--features/org.eclipse.emf.cdo.dawn-feature/feature.properties10
-rw-r--r--features/org.eclipse.emf.cdo.dawn-feature/feature.xml6
-rw-r--r--features/org.eclipse.emf.cdo.dawn.codegen-feature/build.properties2
-rw-r--r--features/org.eclipse.emf.cdo.dawn.codegen-feature/copyright.txt2
-rw-r--r--features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.properties10
-rw-r--r--features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.xml4
-rw-r--r--features/org.eclipse.emf.cdo.dawn.examples-feature/build.properties2
-rw-r--r--features/org.eclipse.emf.cdo.dawn.examples-feature/copyright.txt2
-rw-r--r--features/org.eclipse.emf.cdo.dawn.examples-feature/feature.properties8
-rw-r--r--features/org.eclipse.emf.cdo.dawn.examples-feature/feature.xml4
-rw-r--r--features/org.eclipse.emf.cdo.dawn.sdk-feature/build.properties2
-rw-r--r--features/org.eclipse.emf.cdo.dawn.sdk-feature/copyright.txt2
-rw-r--r--features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.properties8
-rw-r--r--features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.xml4
-rw-r--r--features/org.eclipse.emf.cdo.server.hibernate-feature/feature.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/.settings/org.eclipse.jdt.ui.prefs2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/copyright.txt2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnCodeGenEditPlugin.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGMFGeneratorItemProvider.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawngenmodelItemProviderAdapterFactory.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/.settings/org.eclipse.jdt.ui.prefs2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/copyright.txt2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawnCodeGenEditorPlugin.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/.settings/org.eclipse.jdt.ui.prefs2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/copyright.txt2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGMFGenerator.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelFactory.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelPackage.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGMFGeneratorImpl.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelFactoryImpl.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelPackageImpl.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelAdapterFactory.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelSwitch.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/genmodel/DawnGenModelPlugin.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/.settings/org.eclipse.jdt.ui.prefs2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/copyright.txt2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/DawnCodeGenPlugin.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateClientCodeAction.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/Creator.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/GMFFragmentCreator.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/ProjectCreationHelper.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/util.ext2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/GMFFragmentTemplate.xpt62
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/gmfFragmentGenerator.oaw2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/.settings/org.eclipse.jdt.ui.prefs2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/contexts.xml2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/copyright.txt2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/plugin.xml2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/internal/ui/bundle/OM.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/DawnEditorInput.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/helper/EditorDescriptionHelper.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnWizardPageItemProvider.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewDiagramResourceWizardPage.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewResourceWizardPage.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.util/.settings/org.eclipse.jdt.ui.prefs2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.util/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.util/copyright.txt2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.util/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/internal/util/bundle/OM.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/DawnDiagramUpdater.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/connection/CDOConnectionUtil.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/exceptions/DawnInvalidIdException.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.classpath7
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.cvsignore3
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.options17
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.project28
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.jdt.core.prefs360
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.jdt.ui.prefs120
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.ltk.core.refactoring.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.mylyn.tasks.ui.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.mylyn.team.ui.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.pde.api.tools.prefs94
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/META-INF/MANIFEST.MF43
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/about.html28
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/build.properties22
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/copyright.txt8
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/license.html319
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/plugin.properties25
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/plugin.xml153
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/schema/org.eclipse.emf.cdo.dawn.editpartstylizers.exsd112
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/schema/org.eclipse.emf.cdo.dawn.listeners.exsd118
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/DawnRuntimePlugin.java64
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/HandleConflictsAction.java90
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/LockObjectsAction.java44
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/UnLockObjectsAction.java44
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnAppearancer.java88
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnEditPartStylizer.java30
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnEditPartStylizerRegistry.java121
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicConnectionEditPartStylizerImpl.java104
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicDiagramStylizerImpl.java33
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicGraphicalEditPartStylizerImpl.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicNodeEditPartStylizerImpl.java40
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicTextAwareEditPartStylizerImpl.java64
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBlinkingNodeEditPartStylizerImpl.java97
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/commands/CreateSemanticResourceRecordingCommand.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/conflicts/ResourceSynchronizer.java86
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/diagram/part/IDawnDiagramEditor.java26
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/elementtypes/DawnElementTypeHelper.java23
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/elementtypes/DawnElementTypeHelperFactory.java19
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/exceptions/EClassIncompatibleException.java30
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/helper/DawnEditorHelper.java45
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/AbstractDawnResoureChangeListener.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/BasicDawnListener.java120
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnElementChangeListener.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFSessionListener.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFTransactionListener.java193
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnLocalResoureChangeListener.java55
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationRegistry.java108
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationUtil.java94
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnResoureChangeListener.java134
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnSimpleGMFTransactionListener.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionChangeRecorderRemover.java72
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionHandler.java167
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/DawnRemotePreferencePage.java58
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/PreferenceConstants.java55
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/PreferenceInitializer.java40
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/DawnResourceFactory.java21
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/DawnWrapperResource.java23
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/impl/DawnResourceFactoryImpl.java34
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/impl/DawnWrapperResourceImpl.java172
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/DawnChangeHelper.java628
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/DawnConflictHelper.java107
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/ResourceHelper.java1040
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnDiagramEditingDomainFactory.java93
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnGMFEditingDomainFactory.java85
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnTransactionChangeRecorder.java20
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnTransactionalEditingDomainImpl.java38
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/DawnConflictView.java305
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/TreeObject.java61
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/TreeParent.java55
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/internal/dawn/bundle/OM.java35
152 files changed, 6811 insertions, 147 deletions
diff --git a/features/org.eclipse.emf.cdo.dawn-feature/build.properties b/features/org.eclipse.emf.cdo.dawn-feature/build.properties
index 2b0b09dd37..626f0dbbb9 100644
--- a/features/org.eclipse.emf.cdo.dawn-feature/build.properties
+++ b/features/org.eclipse.emf.cdo.dawn-feature/build.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/features/org.eclipse.emf.cdo.dawn-feature/copyright.txt b/features/org.eclipse.emf.cdo.dawn-feature/copyright.txt
index 2ff5009e83..d350ced838 100644
--- a/features/org.eclipse.emf.cdo.dawn-feature/copyright.txt
+++ b/features/org.eclipse.emf.cdo.dawn-feature/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge(Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/features/org.eclipse.emf.cdo.dawn-feature/feature.properties b/features/org.eclipse.emf.cdo.dawn-feature/feature.properties
index fe9e432c28..39271f8263 100644
--- a/features/org.eclipse.emf.cdo.dawn-feature/feature.properties
+++ b/features/org.eclipse.emf.cdo.dawn-feature/feature.properties
@@ -3,10 +3,10 @@
# 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:
# Martin Fluegge - initial API and implementation
-
+
# NLS_MESSAGEFORMAT_VAR
# ==============================================================================
@@ -17,11 +17,11 @@
# ==============================================================================
providerName = Eclipse Modeling Project
-featureName = Dawn
-description = Dawn contains all runtime aspects for graphical collaboration support over CDO
+featureName = Dawn Runtime (Experimental)
+description = Dawn Runtime contains the runtime aspects for graphical collaboration support over CDO.
copyrightURL = copyright.txt
-copyright = Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\n\
+copyright = Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\n\
All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Public License v1.0\n\
which accompanies this distribution, and is available at\n\
diff --git a/features/org.eclipse.emf.cdo.dawn-feature/feature.xml b/features/org.eclipse.emf.cdo.dawn-feature/feature.xml
index eea6a82854..ea753ff31a 100644
--- a/features/org.eclipse.emf.cdo.dawn-feature/feature.xml
+++ b/features/org.eclipse.emf.cdo.dawn-feature/feature.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ Copyright (c) 2004 - 2010 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
@@ -11,7 +11,7 @@
-->
<feature
id="org.eclipse.emf.cdo.dawn"
- label="%featureName (Experimental)"
+ label="%featureName"
version="0.2.0.qualifier"
provider-name="%providerName">
@@ -28,7 +28,7 @@
</license>
<plugin
- id="org.eclipse.emf.cdo.dawn.runtime"
+ id="org.eclipse.emf.cdo.dawn"
download-size="0"
install-size="0"
version="0.0.0"
diff --git a/features/org.eclipse.emf.cdo.dawn.codegen-feature/build.properties b/features/org.eclipse.emf.cdo.dawn.codegen-feature/build.properties
index 2b0b09dd37..626f0dbbb9 100644
--- a/features/org.eclipse.emf.cdo.dawn.codegen-feature/build.properties
+++ b/features/org.eclipse.emf.cdo.dawn.codegen-feature/build.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/features/org.eclipse.emf.cdo.dawn.codegen-feature/copyright.txt b/features/org.eclipse.emf.cdo.dawn.codegen-feature/copyright.txt
index 2ff5009e83..d350ced838 100644
--- a/features/org.eclipse.emf.cdo.dawn.codegen-feature/copyright.txt
+++ b/features/org.eclipse.emf.cdo.dawn.codegen-feature/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge(Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.properties b/features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.properties
index 1f87ad3e4c..f0c2793cbc 100644
--- a/features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.properties
+++ b/features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.properties
@@ -3,10 +3,10 @@
# 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:
# Martin Fluegge - initial API and implementation
-
+
# NLS_MESSAGEFORMAT_VAR
# ==============================================================================
@@ -17,11 +17,11 @@
# ==============================================================================
providerName = Eclipse Modeling Project
-featureName = Dawn Codgen
-description = Dawn Codegen contains all code generation aspects for graphical collaboration support over CDO
+featureName = Dawn Codegen (Experimental)
+description = Dawn Codegen contains the code generation aspects for graphical collaboration support over CDO.
copyrightURL = copyright.txt
-copyright = Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\n\
+copyright = Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\n\
All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Public License v1.0\n\
which accompanies this distribution, and is available at\n\
diff --git a/features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.xml b/features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.xml
index 5cb0c50c5c..2589bf5026 100644
--- a/features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.xml
+++ b/features/org.eclipse.emf.cdo.dawn.codegen-feature/feature.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ Copyright (c) 2004 - 2010 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
@@ -11,7 +11,7 @@
-->
<feature
id="org.eclipse.emf.cdo.dawn.codegen"
- label="%featureName (Experimental)"
+ label="%featureName"
version="0.2.0.qualifier"
provider-name="%providerName">
diff --git a/features/org.eclipse.emf.cdo.dawn.examples-feature/build.properties b/features/org.eclipse.emf.cdo.dawn.examples-feature/build.properties
index 2b0b09dd37..626f0dbbb9 100644
--- a/features/org.eclipse.emf.cdo.dawn.examples-feature/build.properties
+++ b/features/org.eclipse.emf.cdo.dawn.examples-feature/build.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/features/org.eclipse.emf.cdo.dawn.examples-feature/copyright.txt b/features/org.eclipse.emf.cdo.dawn.examples-feature/copyright.txt
index 2ff5009e83..d350ced838 100644
--- a/features/org.eclipse.emf.cdo.dawn.examples-feature/copyright.txt
+++ b/features/org.eclipse.emf.cdo.dawn.examples-feature/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge(Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/features/org.eclipse.emf.cdo.dawn.examples-feature/feature.properties b/features/org.eclipse.emf.cdo.dawn.examples-feature/feature.properties
index af0ac694b6..f75b0477f9 100644
--- a/features/org.eclipse.emf.cdo.dawn.examples-feature/feature.properties
+++ b/features/org.eclipse.emf.cdo.dawn.examples-feature/feature.properties
@@ -3,10 +3,10 @@
# 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:
# Martin Fluegge - initial API and implementation
-
+
# NLS_MESSAGEFORMAT_VAR
# ==============================================================================
@@ -17,8 +17,8 @@
# ==============================================================================
providerName = Eclipse Modeling Project
-featureName = Dawn Examples
-description = Dawn Examples contains examples project to demonstrate to range of functions of Dawn
+featureName = Dawn Examples (Experimental)
+description = Dawn Examples contains example plugins to demonstrate a range of functions of Dawn.
copyrightURL = copyright.txt
copyright = Copyright (c) 2004 - 2010 Martin Fluegge (Berlin, Germany) and others.\n\
diff --git a/features/org.eclipse.emf.cdo.dawn.examples-feature/feature.xml b/features/org.eclipse.emf.cdo.dawn.examples-feature/feature.xml
index 0752c283b4..fae775383d 100644
--- a/features/org.eclipse.emf.cdo.dawn.examples-feature/feature.xml
+++ b/features/org.eclipse.emf.cdo.dawn.examples-feature/feature.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ Copyright (c) 2004 - 2010 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
@@ -11,7 +11,7 @@
-->
<feature
id="org.eclipse.emf.cdo.dawn.examples"
- label="%featureName (Experimental)"
+ label="%featureName"
version="0.2.0.qualifier"
provider-name="%providerName">
diff --git a/features/org.eclipse.emf.cdo.dawn.sdk-feature/build.properties b/features/org.eclipse.emf.cdo.dawn.sdk-feature/build.properties
index 03eb276ce4..316008ef2e 100644
--- a/features/org.eclipse.emf.cdo.dawn.sdk-feature/build.properties
+++ b/features/org.eclipse.emf.cdo.dawn.sdk-feature/build.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/features/org.eclipse.emf.cdo.dawn.sdk-feature/copyright.txt b/features/org.eclipse.emf.cdo.dawn.sdk-feature/copyright.txt
index 2ff5009e83..d350ced838 100644
--- a/features/org.eclipse.emf.cdo.dawn.sdk-feature/copyright.txt
+++ b/features/org.eclipse.emf.cdo.dawn.sdk-feature/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge(Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.properties b/features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.properties
index af0ac694b6..1288233f32 100644
--- a/features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.properties
+++ b/features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.properties
@@ -3,10 +3,10 @@
# 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:
# Martin Fluegge - initial API and implementation
-
+
# NLS_MESSAGEFORMAT_VAR
# ==============================================================================
@@ -17,8 +17,8 @@
# ==============================================================================
providerName = Eclipse Modeling Project
-featureName = Dawn Examples
-description = Dawn Examples contains examples project to demonstrate to range of functions of Dawn
+featureName = Dawn SDK (Experimental)
+description = Dawn SDK includes Runtime, Codegen, Tools, Examples, Documentation and Source.
copyrightURL = copyright.txt
copyright = Copyright (c) 2004 - 2010 Martin Fluegge (Berlin, Germany) and others.\n\
diff --git a/features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.xml b/features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.xml
index 4617e7a9c1..abf4d96318 100644
--- a/features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.xml
+++ b/features/org.eclipse.emf.cdo.dawn.sdk-feature/feature.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ Copyright (c) 2004 - 2010 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
@@ -11,7 +11,7 @@
-->
<feature
id="org.eclipse.emf.cdo.dawn.sdk"
- label="%featureName (Experimental)"
+ label="%featureName"
version="0.2.0.qualifier"
provider-name="%providerName">
diff --git a/features/org.eclipse.emf.cdo.server.hibernate-feature/feature.properties b/features/org.eclipse.emf.cdo.server.hibernate-feature/feature.properties
index ac5a6b1bb4..93f1849540 100644
--- a/features/org.eclipse.emf.cdo.server.hibernate-feature/feature.properties
+++ b/features/org.eclipse.emf.cdo.server.hibernate-feature/feature.properties
@@ -18,7 +18,7 @@
providerName = Eclipse Modeling Project
featureName = CDO Model Repository Server Hibernate
-description = CDO Model Repository Server Hibernate contains the HibernateStore and Teneo integration plugins. Ensure that you that Hibernate is already installed! Visit http://net4j.sourceforge.net/update for a p2 repository that contains Hibernate.
+description = CDO Model Repository Server Hibernate contains the HibernateStore and Teneo integration plugins. Ensure that Hibernate is already installed! Visit http://net4j.sourceforge.net/update for a p2 repository that contains Hibernate.
copyrightURL = copyright.txt
copyright = Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\n\
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/.settings/org.eclipse.jdt.ui.prefs
index 724b873437..5b95c33f76 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/.settings/org.eclipse.jdt.ui.prefs
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/.settings/org.eclipse.jdt.ui.prefs
@@ -65,7 +65,7 @@ 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) 2010 Martin Fluegge (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 * Martin Fluegge - 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 Martin Fluegge\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>
+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 - 2010 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 * Martin Fluegge - 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 Martin Fluegge\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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/build.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/build.properties
index ac2c6d2580..64d93b2c11 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/build.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/build.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/copyright.txt b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/copyright.txt
index 2ff5009e83..d350ced838 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/copyright.txt
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge(Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/plugin.properties
index a5b5d8a2ce..79e40731f6 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/plugin.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnCodeGenEditPlugin.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnCodeGenEditPlugin.java
index b9ad8aa9c1..b76907200d 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnCodeGenEditPlugin.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnCodeGenEditPlugin.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -29,7 +29,7 @@ public final class DawnCodeGenEditPlugin extends EMFPlugin
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGMFGeneratorItemProvider.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGMFGeneratorItemProvider.java
index 8cb52df4d6..7609e95daa 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGMFGeneratorItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGMFGeneratorItemProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -43,7 +43,7 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawngenmodelItemProviderAdapterFactory.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawngenmodelItemProviderAdapterFactory.java
index cd3ff99da5..bf11ef7105 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawngenmodelItemProviderAdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawngenmodelItemProviderAdapterFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -46,7 +46,7 @@ public class DawngenmodelItemProviderAdapterFactory extends DawngenmodelAdapterF
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* This keeps track of the root adapter factory that delegates to this adapter factory. <!-- begin-user-doc --> <!--
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/.settings/org.eclipse.jdt.ui.prefs
index 724b873437..5b95c33f76 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/.settings/org.eclipse.jdt.ui.prefs
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/.settings/org.eclipse.jdt.ui.prefs
@@ -65,7 +65,7 @@ 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) 2010 Martin Fluegge (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 * Martin Fluegge - 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 Martin Fluegge\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>
+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 - 2010 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 * Martin Fluegge - 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 Martin Fluegge\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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/build.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/build.properties
index 40d335d33b..73c8db83ff 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/build.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/build.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/copyright.txt b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/copyright.txt
index 2ff5009e83..d350ced838 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/copyright.txt
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge(Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.properties
index 62ee726571..fd34370f40 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/plugin.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawnCodeGenEditorPlugin.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawnCodeGenEditorPlugin.java
index d5802e73fa..04c316d273 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawnCodeGenEditorPlugin.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawnCodeGenEditorPlugin.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -30,7 +30,7 @@ public final class DawnCodeGenEditorPlugin extends EMFPlugin
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java
index 9a91153fe1..38f1c9cfda 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -56,7 +56,7 @@ public class DawngenmodelActionBarContributor extends EditingDomainActionBarCont
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* This keeps track of the active editor. <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java
index 17a0b67280..f2a4abcb4c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -144,7 +144,7 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* This keeps track of the editing domain that is used to track all changes to the model. <!-- begin-user-doc --> <!--
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java
index fd3636efbc..5fc99a0bf2 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -80,7 +80,7 @@ public class DawngenmodelModelWizard extends Wizard implements INewWizard
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* The supported extensions for created files. <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/.settings/org.eclipse.jdt.ui.prefs
index 724b873437..5b95c33f76 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/.settings/org.eclipse.jdt.ui.prefs
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/.settings/org.eclipse.jdt.ui.prefs
@@ -65,7 +65,7 @@ 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) 2010 Martin Fluegge (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 * Martin Fluegge - 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 Martin Fluegge\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>
+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 - 2010 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 * Martin Fluegge - 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 Martin Fluegge\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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/build.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/build.properties
index d34aa9ddee..1ec4574754 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/build.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/build.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/copyright.txt b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/copyright.txt
index 2ff5009e83..d350ced838 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/copyright.txt
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge(Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel
index 3fbc9dbcd6..032e539f75 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; Martin Fluegge - initial API and implementation"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA; Martin Fluegge - initial API and implementation"
modelDirectory="/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src" modelPluginID="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel"
modelName="DawnCodeGen" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0"
usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel#//genmodel platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.genmodel#//gmfgen">
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/plugin.properties
index 6ef0249de3..d76cc44e4e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/plugin.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGMFGenerator.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGMFGenerator.java
index 432ee1c12e..d41f93526d 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGMFGenerator.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGMFGenerator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -55,7 +55,7 @@ public interface DawnGMFGenerator extends EObject
*
* @generated
*/
- String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* Returns the value of the '<em><b>Fragment Name</b></em>' attribute. <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelFactory.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelFactory.java
index b1ce4672ac..1c11e8f4ac 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelFactory.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -26,7 +26,7 @@ public interface DawngenmodelFactory extends EFactory
*
* @generated
*/
- String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelPackage.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelPackage.java
index ae10b524ad..9c42f157f1 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelPackage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelPackage.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -36,7 +36,7 @@ public interface DawngenmodelPackage extends EPackage
*
* @generated
*/
- String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGMFGeneratorImpl.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGMFGeneratorImpl.java
index a5e11d79e9..80aa9e2f30 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGMFGeneratorImpl.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGMFGeneratorImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -63,7 +63,7 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* The default value of the '{@link #getFragmentName() <em>Fragment Name</em>}' attribute. <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelFactoryImpl.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelFactoryImpl.java
index 794722c0ff..7830fa725a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelFactoryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelFactoryImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -32,7 +32,7 @@ public class DawngenmodelFactoryImpl extends EFactoryImpl implements Dawngenmode
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelPackageImpl.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelPackageImpl.java
index a76f052940..8a37303d6f 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelPackageImpl.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelPackageImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -35,7 +35,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelAdapterFactory.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelAdapterFactory.java
index 11f3162ca8..08abf7fbd2 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelAdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelAdapterFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -32,7 +32,7 @@ public class DawngenmodelAdapterFactory extends AdapterFactoryImpl
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelSwitch.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelSwitch.java
index bc38c0d9cb..874ed018bd 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelSwitch.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelSwitch.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
@@ -34,7 +34,7 @@ public class DawngenmodelSwitch<T>
*
* @generated
*/
- public static final String copyright = "Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
+ public static final String copyright = "Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Martin Fluegge - initial API and implementation";
/**
* The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/genmodel/DawnGenModelPlugin.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/genmodel/DawnGenModelPlugin.java
index 5095104202..1b394ffeee 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/genmodel/DawnGenModelPlugin.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/genmodel/DawnGenModelPlugin.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn.codegen/.settings/org.eclipse.jdt.ui.prefs
index 724b873437..5b95c33f76 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/.settings/org.eclipse.jdt.ui.prefs
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/.settings/org.eclipse.jdt.ui.prefs
@@ -65,7 +65,7 @@ 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) 2010 Martin Fluegge (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 * Martin Fluegge - 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 Martin Fluegge\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>
+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 - 2010 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 * Martin Fluegge - 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 Martin Fluegge\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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/copyright.txt b/plugins/org.eclipse.emf.cdo.dawn.codegen/copyright.txt
index 2ff5009e83..d350ced838 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/copyright.txt
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge(Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties
index eefb0673e9..2ee648902a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/DawnCodeGenPlugin.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/DawnCodeGenPlugin.java
index 9f25b452b2..a347a855e7 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/DawnCodeGenPlugin.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/DawnCodeGenPlugin.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateClientCodeAction.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateClientCodeAction.java
index 0611d92d28..9c465b1298 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateClientCodeAction.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateClientCodeAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java
index 007b34046e..c7544b2d85 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/Creator.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/Creator.java
index b8cd362343..c1854a1106 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/Creator.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/Creator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/GMFFragmentCreator.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/GMFFragmentCreator.java
index a7908d3e85..82ae82dd28 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/GMFFragmentCreator.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/GMFFragmentCreator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/ProjectCreationHelper.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/ProjectCreationHelper.java
index a7a05843ef..fdc6bb081d 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/ProjectCreationHelper.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/ProjectCreationHelper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.java
index 5da2a13e89..584eccfe6d 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/util.ext b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/util.ext
index 756e770819..e36046c5a4 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/util.ext
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/util.ext
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ * Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/GMFFragmentTemplate.xpt b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/GMFFragmentTemplate.xpt
index 660425ab15..3e8263cbaa 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/GMFFragmentTemplate.xpt
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/GMFFragmentTemplate.xpt
@@ -1,13 +1,13 @@
«REM»
- Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
-
+
Contributors:
Martin Fluegge - initial API and implementation
-
+
«ENDREM»
«IMPORT gmfgen»
@@ -34,8 +34,8 @@
«EXPAND dawnEditPolicyProvider FOR this»
«EXPAND manifestMF FOR this.GMFGenEditorGenerator»
«EXPAND buildPROPERTIES FOR this.GMFGenEditorGenerator»
- «EXPAND classpath FOR this.GMFGenEditorGenerator»
-
+ «EXPAND classpath FOR this.GMFGenEditorGenerator»
+
«ENDDEFINE»
«REM»############################################ Extended Editor ##################################################################«ENDREM»
@@ -45,8 +45,8 @@
package «this.GMFGenEditorGenerator.editor.packageName»;
import «this.GMFGenEditorGenerator.diagram.domainDiagramElement.genPackage.basePackage».«this.GMFGenEditorGenerator.diagram.domainDiagramElement.ecoreClass.ePackage.name».«this.GMFGenEditorGenerator.diagram.domainDiagramElement.ecoreClass.name»;
-import org.eclipse.emf.cdo.dawn.runtime.diagram.part.IDawnDiagramEditor;
-import org.eclipse.emf.cdo.dawn.runtime.notifications.DawnNotificationUtil;
+import org.eclipse.emf.cdo.dawn.diagram.part.IDawnDiagramEditor;
+import org.eclipse.emf.cdo.dawn.notifications.DawnNotificationUtil;
import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.ui.CDOEditorInput;
@@ -83,7 +83,7 @@ public class «this.dawnEditorClassName» extends «GMFGenEditorGenerator.editor.cl
super();
setDocumentProvider(new «this.dawnDocumentProviderClassName»());
}
-
+
«EXPAND generatedComment -»
@Override
public void setInput(IEditorInput input)
@@ -106,14 +106,14 @@ public class «this.dawnEditorClassName» extends «GMFGenEditorGenerator.editor.cl
DawnNotificationUtil.registerTransactionListeners(transaction, this);
DawnNotificationUtil.setChangeSubscriptionPolicy(transaction);
}
-
+
«EXPAND generatedComment -»
@Override
protected void initializeGraphicalViewer()
{
super.initializeGraphicalViewer();
}
-
+
«EXPAND generatedComment -»
@Override
public void doSave(IProgressMonitor monitor)
@@ -138,20 +138,20 @@ public class «this.dawnEditorClassName» extends «GMFGenEditorGenerator.editor.cl
}
}
}
-
+
«EXPAND generatedComment -»
@Override
public boolean isDirty()
{
return dirty;
}
-
+
«EXPAND generatedComment -»
public String getContributorID()
{
return null;
}
-
+
«EXPAND generatedComment -»
@Override
protected void setDocumentProvider(IEditorInput input)
@@ -165,7 +165,7 @@ public class «this.dawnEditorClassName» extends «GMFGenEditorGenerator.editor.cl
super.setDocumentProvider(input);
}
}
-
+
«EXPAND generatedComment -»
@Override
public void dispose()
@@ -182,13 +182,13 @@ public class «this.dawnEditorClassName» extends «GMFGenEditorGenerator.editor.cl
}
}
}
-
+
«EXPAND generatedComment -»
public CDOView getView()
{
return transaction;
}
-
+
«EXPAND generatedComment -»
public void setDirty()
{
@@ -206,7 +206,7 @@ public class «this.dawnEditorClassName» extends «GMFGenEditorGenerator.editor.cl
«FILE "src/"+getDiagramPackagePath()+"/edit/parts/"+this.dawnDiagramEditPartClassName+".java"»
package «this.GMFGenEditorGenerator.diagram.editPartsPackageName»;
-import org.eclipse.emf.cdo.dawn.runtime.synchronize.DawnConflictHelper;
+import org.eclipse.emf.cdo.dawn.synchronize.DawnConflictHelper;
import org.eclipse.emf.ecore.EObject;
@@ -222,7 +222,7 @@ public class «this.dawnDiagramEditPartClassName» extends «this.GMFGenEditorGener
{
super(view);
}
-
+
«EXPAND generatedComment -»
@Override
protected void removeChild(EditPart child)
@@ -302,7 +302,7 @@ public class «this.dawnCanonicalEditingPolicyClassName» extends «this.GMFGenEdit
«FILE "src/"+getDiagramPackagePath()+"/part/"+this.dawnCreationWizardClassName+".java"»
package «this.GMFGenEditorGenerator.editor.packageName»;
-import org.eclipse.emf.cdo.dawn.runtime.preferences.PreferenceConstants;
+import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewDiagramResourceWizardPage;
import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewResourceWizardPage;
import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
@@ -445,9 +445,9 @@ import «this.GMFGenEditorGenerator.diagram.domainDiagramElement.genPackage.baseP
import «this.GMFGenEditorGenerator.diagram.domainDiagramElement.genPackage.basePackage».«this.GMFGenEditorGenerator.diagram.domainDiagramElement.ecoreClass.ePackage.name».«this.GMFGenEditorGenerator.domainGenModel.modelName»Factory;
import «this.GMFGenEditorGenerator.diagram.editPartsPackageName».«this.dawnDiagramEditPartClassName»;
-import org.eclipse.emf.cdo.dawn.runtime.commands.CreateSemanticResourceRecordingCommand;
-import org.eclipse.emf.cdo.dawn.runtime.preferences.PreferenceConstants;
-import org.eclipse.emf.cdo.dawn.runtime.transaction.DawnGMFEditingDomainFactory;
+import org.eclipse.emf.cdo.dawn.commands.CreateSemanticResourceRecordingCommand;
+import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
+import org.eclipse.emf.cdo.dawn.transaction.DawnGMFEditingDomainFactory;
import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
import org.eclipse.emf.cdo.session.CDOSession;
@@ -599,13 +599,13 @@ public class «this.dawnEditorUtilClassName» extends «this.GMFGenEditorGenerator.
«ENDFILE»
«ENDDEFINE»
-
+
«REM»############################################ DawnXXXDocumentProvider ##################################################################«ENDREM»
«DEFINE dawnDocumentProvider FOR DawnGMFGenerator»
«FILE "src/"+getDiagramPackagePath()+"/part/"+this.dawnDocumentProviderClassName+".java"»
package «this.GMFGenEditorGenerator.editor.packageName»;
-import org.eclipse.emf.cdo.dawn.runtime.transaction.DawnDiagramEditingDomainFactory;
+import org.eclipse.emf.cdo.dawn.transaction.DawnDiagramEditingDomainFactory;
import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
import org.eclipse.emf.cdo.eresource.CDOResource;
@@ -702,7 +702,7 @@ public class «this.dawnDocumentProviderClassName» extends «this.GMFGenEditorGene
return editingDomain;
}
-
+
«EXPAND generatedComment -»
@Override
protected void setDocumentContent(IDocument document, IEditorInput element) throws CoreException
@@ -796,7 +796,7 @@ public class «this.dawnDocumentProviderClassName» extends «this.GMFGenEditorGene
{
throw new CoreException(new Status(IStatus.ERROR, ClassdiagramDiagramEditorPlugin.ID, 0, NLS.bind(
Messages.«this.GMFGenEditorGenerator.diagram.documentProviderClassName»_IncorrectInputError, new Object[] { element,
- "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
+ "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
null));
}
}
@@ -873,7 +873,7 @@ public class «dawnEditPolicyProviderClassName» extends AbstractProvider implemen
}
return false;
}
-
+
«EXPAND generatedComment -»
public void createEditPolicies(EditPart editPart)
{
@@ -895,7 +895,7 @@ public class «dawnEditPolicyProviderClassName» extends AbstractProvider implemen
<extension
point="org.eclipse.ui.editors">
<editor
-
+
class="«this.GMFGenEditorGenerator.editor.packageName».«this.dawnEditorClassName»"
contributorClass="«this.GMFGenEditorGenerator.editor.packageName».«this.GMFGenEditorGenerator.editor.actionBarContributorClassName»"
default="true"
@@ -953,8 +953,8 @@ public class «dawnEditPolicyProviderClassName» extends AbstractProvider implemen
«ENDFILE»
«ENDDEFINE»
-
-
+
+
«REM»##############################################################################################################«ENDREM»
«DEFINE manifestMF FOR GenEditorGenerator»
«FILE "META-INF/MANIFEST.MF"»Manifest-Version: 1.0
@@ -964,7 +964,7 @@ Bundle-SymbolicName: org.eclipse.emf.cdo.dawn.reference.editor.diagram.dawn;sing
Bundle-Version: 0.2.0.qualifier
Fragment-Host: org.eclipse.emf.cdo.dawn.reference.editor.diagram;bundle-version="0.2.0"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.emf.cdo.dawn.runtime;bundle-version="0.2.0",
+Require-Bundle: org.eclipse.emf.cdo.dawn;bundle-version="0.2.0",
org.eclipse.emf.cdo.dawn.util;bundle-version="0.0",
org.eclipse.emf.cdo.ui;bundle-version="3.0.0",
org.eclipse.emf.cdo.dawn.ui;bundle-version="0.2.0"
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/gmfFragmentGenerator.oaw b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/gmfFragmentGenerator.oaw
index 82afa8e03f..e75c4d7bc5 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/gmfFragmentGenerator.oaw
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/gmfFragmentGenerator.oaw
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!--
- Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn.ui/.settings/org.eclipse.jdt.ui.prefs
index 724b873437..5b95c33f76 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/.settings/org.eclipse.jdt.ui.prefs
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -65,7 +65,7 @@ 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) 2010 Martin Fluegge (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 * Martin Fluegge - 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 Martin Fluegge\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>
+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 - 2010 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 * Martin Fluegge - 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 Martin Fluegge\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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.ui/META-INF/MANIFEST.MF
index 3b10a1cfdc..ffe37c9cf1 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/META-INF/MANIFEST.MF
@@ -8,7 +8,7 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.6.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
org.eclipse.emf.cdo.ui;bundle-version="[3.0.0,4.0.0)",
org.eclipse.emf.cdo.dawn.util;bundle-version="[0.2.0,1.0.0)",
- org.eclipse.emf.cdo.dawn.runtime;bundle-version="[0.2.0,1.0.0)"
+ org.eclipse.emf.cdo.dawn;bundle-version="[0.2.0,1.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/build.properties b/plugins/org.eclipse.emf.cdo.dawn.ui/build.properties
index 980657235d..dff8555435 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/build.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/build.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/contexts.xml b/plugins/org.eclipse.emf.cdo.dawn.ui/contexts.xml
index 6b87f804c9..4049d2d219 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/contexts.xml
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/contexts.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/copyright.txt b/plugins/org.eclipse.emf.cdo.dawn.ui/copyright.txt
index 2ff5009e83..d350ced838 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/copyright.txt
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge(Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.ui/plugin.properties
index c0b738dab9..43b4cf1cde 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/plugin.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/plugin.xml b/plugins/org.eclipse.emf.cdo.dawn.ui/plugin.xml
index 70e5f97349..9916c800ce 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/plugin.xml
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/plugin.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
- Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+ Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/internal/ui/bundle/OM.java b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/internal/ui/bundle/OM.java
index b1f69da09a..62294e289f 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/internal/ui/bundle/OM.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/internal/ui/bundle/OM.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/DawnEditorInput.java b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/DawnEditorInput.java
index ce8e59b15a..e8cf54088b 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/DawnEditorInput.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/DawnEditorInput.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/helper/EditorDescriptionHelper.java b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/helper/EditorDescriptionHelper.java
index db030dca25..c8545737bc 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/helper/EditorDescriptionHelper.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/helper/EditorDescriptionHelper.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java
index 7b042f01a4..b36d38baee 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -11,7 +11,7 @@
package org.eclipse.emf.cdo.dawn.ui.views;
import org.eclipse.emf.cdo.dawn.internal.ui.bundle.OM;
-import org.eclipse.emf.cdo.dawn.runtime.preferences.PreferenceConstants;
+import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnWizardPageItemProvider.java b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnWizardPageItemProvider.java
index 5f1ea7e3e0..b3e51f834b 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnWizardPageItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnWizardPageItemProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewDiagramResourceWizardPage.java b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewDiagramResourceWizardPage.java
index c1f97d0214..8c07736f98 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewDiagramResourceWizardPage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewDiagramResourceWizardPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,7 +10,7 @@
******************************************************************************/
package org.eclipse.emf.cdo.dawn.ui.wizards;
-import org.eclipse.emf.cdo.dawn.runtime.preferences.PreferenceConstants;
+import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
import org.eclipse.emf.cdo.view.CDOView;
import org.eclipse.emf.common.util.URI;
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewResourceWizardPage.java b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewResourceWizardPage.java
index b3fe7d8bfb..faf8bbda94 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewResourceWizardPage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/wizards/DawnCreateNewResourceWizardPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.emf.cdo.dawn.util/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn.util/.settings/org.eclipse.jdt.ui.prefs
index 724b873437..5b95c33f76 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.util/.settings/org.eclipse.jdt.ui.prefs
+++ b/plugins/org.eclipse.emf.cdo.dawn.util/.settings/org.eclipse.jdt.ui.prefs
@@ -65,7 +65,7 @@ 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) 2010 Martin Fluegge (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 * Martin Fluegge - 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 Martin Fluegge\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>
+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 - 2010 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 * Martin Fluegge - 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 Martin Fluegge\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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.util/build.properties b/plugins/org.eclipse.emf.cdo.dawn.util/build.properties
index aa92976178..c832863320 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.util/build.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.util/build.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.util/copyright.txt b/plugins/org.eclipse.emf.cdo.dawn.util/copyright.txt
index 5e990339a5..9134dfaf00 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.util/copyright.txt
+++ b/plugins/org.eclipse.emf.cdo.dawn.util/copyright.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.util/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.util/plugin.properties
index b5e67d13bc..004dc578f7 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.util/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.util/plugin.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 Martin Fluegge (Berlin, Germany) and others.
+# Copyright (c) 2004 - 2010 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
diff --git a/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/internal/util/bundle/OM.java b/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/internal/util/bundle/OM.java
index 534070afc9..125355dc8b 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/internal/util/bundle/OM.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/internal/util/bundle/OM.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/DawnDiagramUpdater.java b/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/DawnDiagramUpdater.java
index bd5b608256..3291741617 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/DawnDiagramUpdater.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/DawnDiagramUpdater.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/connection/CDOConnectionUtil.java b/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/connection/CDOConnectionUtil.java
index 5249e8b886..9df84f3356 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/connection/CDOConnectionUtil.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/connection/CDOConnectionUtil.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/exceptions/DawnInvalidIdException.java b/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/exceptions/DawnInvalidIdException.java
index 21f1cf65a0..a4d0928861 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/exceptions/DawnInvalidIdException.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.util/src/org/eclipse/emf/cdo/dawn/util/exceptions/DawnInvalidIdException.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 Martin Fluegge (Berlin, Germany).
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.emf.cdo.dawn/.classpath b/plugins/org.eclipse.emf.cdo.dawn/.classpath
new file mode 100644
index 0000000000..64c5e31b7a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <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="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.emf.cdo.dawn/.cvsignore b/plugins/org.eclipse.emf.cdo.dawn/.cvsignore
new file mode 100644
index 0000000000..6ffb221cca
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.cvsignore
@@ -0,0 +1,3 @@
+bin
+doc
+text
diff --git a/plugins/org.eclipse.emf.cdo.dawn/.options b/plugins/org.eclipse.emf.cdo.dawn/.options
new file mode 100644
index 0000000000..3a060dd125
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.options
@@ -0,0 +1,17 @@
+# Debugging and tracing options
+
+org.eclipse.emf.cdo.dawn/debug = true
+
+org.eclipse.emf.cdo.dawn/debug.session = true
+org.eclipse.emf.cdo.dawn/debug.session.model = true
+org.eclipse.emf.cdo.dawn/debug.session.revision = true
+
+org.eclipse.emf.cdo.dawn/debug.view = true
+org.eclipse.emf.cdo.dawn/debug.view.transaction = true
+org.eclipse.emf.cdo.dawn/debug.view.audit = true
+
+org.eclipse.emf.cdo.dawn/debug.object = true
+org.eclipse.emf.cdo.dawn/debug.object.statemachine = true
+org.eclipse.emf.cdo.dawn/debug.object.store = true
+
+org.eclipse.emf.cdo.dawn/load.resource.before.notification = true
diff --git a/plugins/org.eclipse.emf.cdo.dawn/.project b/plugins/org.eclipse.emf.cdo.dawn/.project
new file mode 100644
index 0000000000..dca9ab52d6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.cdo.dawn</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..a1cef9a448
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Thu Dec 18 13:30:26 CET 2008
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..e6d94e03c0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,360 @@
+#Mon Apr 12 14:00:12 CEST 2010
+eclipse.preferences.version=1
+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.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=disabled
+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.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=ignore
+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.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_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_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_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.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=true
+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.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.format_guardian_clause_on_one_line=false
+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_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=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_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_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_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_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_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_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=120
+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_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..5b95c33f76
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,120 @@
+#Thu Feb 04 09:44:24 CET 2010
+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=11
+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 - 2010 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 * Martin Fluegge - 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 Martin Fluegge\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=true
+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.emf.cdo.dawn/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..864e30fe5d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.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.emf.cdo.dawn/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000000..b050639a54
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.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.emf.cdo.dawn/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000000..2f50f36c0c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.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${task.url}
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000000..bf3053a36e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,94 @@
+#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=Ignore
+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=Warning
+automatically_removed_unused_problem_filters=Enabled
+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.emf.cdo.dawn/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.dawn/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/.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=1
+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.emf.cdo.dawn/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..99a0af8d04
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/META-INF/MANIFEST.MF
@@ -0,0 +1,43 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.cdo.dawn;singleton:=true
+Bundle-Version: 0.2.0.qualifier
+Bundle-Activator: org.eclipse.emf.cdo.dawn.DawnRuntimePlugin
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.cdo;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.cdo.dawn.util;bundle-version="[0.2.0,1.0.0)",
+ org.eclipse.gmf.runtime.common.core;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.common.ui;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.actions;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.emf.core;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation.edit;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation.providers;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide;bundle-version="[1.2.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.emf.cdo.dawn;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.actions;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.appearance;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.appearance.impl;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.commands;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.conflicts;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.diagram.part;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.elementtypes;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.exceptions;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.helper;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.notifications;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.preferences;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.resources;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.resources.impl;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.synchronize;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.transaction;version="0.2.0",
+ org.eclipse.emf.cdo.dawn.views;version="0.2.0",
+ org.eclipse.emf.cdo.internal.dawn.bundle;version="0.2.0"
+Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.emf.cdo.dawn/about.html b/plugins/org.eclipse.emf.cdo.dawn/about.html
new file mode 100644
index 0000000000..d35d5aed64
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/about.html
@@ -0,0 +1,28 @@
+<!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>
diff --git a/plugins/org.eclipse.emf.cdo.dawn/build.properties b/plugins/org.eclipse.emf.cdo.dawn/build.properties
new file mode 100644
index 0000000000..b8f828338b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/build.properties
@@ -0,0 +1,22 @@
+# Copyright (c) 2004 - 2010 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:
+# Martin Fluegge - initial API and implementation
+
+# NLS_MESSAGEFORMAT_VAR
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ copyright.txt,\
+ license.html,\
+ .options
+src.includes = about.html,\
+ copyright.txt \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.dawn/copyright.txt b/plugins/org.eclipse.emf.cdo.dawn/copyright.txt
new file mode 100644
index 0000000000..d350ced838
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/copyright.txt
@@ -0,0 +1,8 @@
+Copyright (c) 2004 - 2010 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:
+ Martin Fluegge - initial API and implementation \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.dawn/license.html b/plugins/org.eclipse.emf.cdo.dawn/license.html
new file mode 100644
index 0000000000..d7b88e9416
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/license.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style></head>
+
+<body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.dawn/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn/plugin.properties
new file mode 100644
index 0000000000..948b44ccff
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/plugin.properties
@@ -0,0 +1,25 @@
+# Copyright (c) 2004 - 2010 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:
+# Martin Fluegge - initial API and implementation
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+pluginName = Dawn Runtime
+providerName = Eclipse Modeling Project
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/plugins/org.eclipse.emf.cdo.dawn/plugin.xml b/plugins/org.eclipse.emf.cdo.dawn/plugin.xml
new file mode 100644
index 0000000000..dcccc539a4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/plugin.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Copyright (c) 2004 - 2010 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:
+ Martin Fluegge - initial API and implementation
+-->
+<plugin>
+ <extension-point id="org.eclipse.emf.cdo.dawn.listeners" name="DawnListeners" schema="schema/org.eclipse.emf.cdo.dawn.listeners.exsd"/>
+ <extension-point id="org.eclipse.emf.cdo.dawn.editpartstylizers" name="Dawn EditPart Stylizers" schema="schema/org.eclipse.emf.cdo.dawn.editpartstylizers.exsd"/>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.emf.cdo.dawn.resources.impl.DawnResourceFactoryImpl"
+ type="org.eclipse.emf.cdo.dawn.dawnresourceparser">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.protocol_parser">
+ <parser
+ class="org.eclipse.emf.cdo.dawn.resources.impl.DawnResourceFactoryImpl"
+ protocolName="dawn">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.ui.views">
+ <category
+ id="org.eclipse.emf.cdo.dawn.ui"
+ name="Dawn">
+ </category>
+ </extension>
+
+ <extension point="org.eclipse.ui.popupMenus">
+ <objectContribution
+ adaptable="false"
+ id="org.eclipse.emf.cdo.dawn.handleConflict"
+ objectClass="org.eclipse.gef.EditPart">
+ <menu
+ id="org.eclipse.emf.cdo.dawn.menu.conflict"
+ label="Conflict"
+ path="additions">
+ <separator name="group1"/>
+ </menu>
+ <action
+ class="org.eclipse.emf.cdo.dawn.actions.HandleConflictsAction"
+ definitionId="org.eclipse.emf.cdo.dawn.handleConflict"
+ enablesFor="1"
+ id="org.eclipse.emf.cdo.dawn.popup.HandleConflictActionID"
+ label="Solve Conflict"
+ menubarPath="org.eclipse.emf.cdo.dawn.menu.conflict/group1">
+ </action>
+ </objectContribution>
+ <objectContribution
+ adaptable="false"
+ id="org.eclipse.emf.cdo.dawn.handleLocking" objectClass="org.eclipse.gef.EditPart">
+ <menu
+ id="org.eclipse.emf.cdo.dawn.menu.locking"
+ label="Locking"
+ path="additions">
+ <separator
+ name="locking">
+ </separator>
+ </menu>
+ <action
+ class="org.eclipse.emf.cdo.dawn.actions.LockObjectsAction"
+ definitionId="org.eclipse.emf.cdo.dawn.lockObjects"
+ id="org.eclipse.emf.cdo.dawn.LockObjectsActionID"
+ label="Lock Objects"
+ menubarPath="org.eclipse.emf.cdo.dawn.menu.locking/locking">
+ </action>
+ <action
+ class="org.eclipse.emf.cdo.dawn.actions.UnLockObjectsAction"
+ definitionId="org.eclipse.emf.cdo.dawn.unlockObjects"
+ id="org.eclipse.emf.cdo.dawn.UnlockObjectsActionID"
+ label="Unlock Objects"
+ menubarPath="org.eclipse.emf.cdo.dawn.menu.locking/locking">
+ </action>
+ </objectContribution>
+ <!-- <objectContribution
+ adaptable="false"
+ id="org.eclipse.emf.cdo.dawn.diagram.resource.contextmenu"
+ nameFilter="*_diagram"
+ objectClass="org.eclipse.core.resources.IResource">
+ <action
+ class="org.mftech.dawn.runtime.client.diagram.actions.DiagramResourceOpenBrowserAction"
+ definitionId="de.mf.eclipse.plugins.dawn.configure.project"
+ id="de.mf.eclipse.plugins.dawn.diagram.communication.action1"
+ label="Configure Project"
+ menubarPath="de.mf.eclipse.plugins.dawn.context.menu.configure/configure">
+ </action>
+ <menu
+ id="de.mf.eclipse.plugins.dawn.context.menu.configure"
+ label="Dawn"
+ path="additions">
+ </menu>
+ </objectContribution>-->
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.emf.cdo.dawn.preferences.DawnRemotePreferencePage"
+ id="org.eclipse.emf.cdo.dawn.views.preferences.DawnRemotePreferencePage"
+ name="Dawn Remote Preferences">
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.core.runtime.preferences">
+ <initializer
+ class="org.eclipse.emf.cdo.dawn.preferences.PreferenceInitializer">
+ </initializer>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ id="org.eclipse.emf.cdo.dawn.handleConflict"
+ name="HandleConflict">
+ </command>
+ <command
+ id="org.eclipse.emf.cdo.dawn.lockObjects"
+ name="LockObjects">
+ </command>
+ <command
+ id="org.eclipse.emf.cdo.dawn.unlockObjects"
+ name="UnlockObjects">
+ </command>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ id="org.eclipse.emf.cdo.dawn.handleConflict"
+ name="HandleConflict">
+ </command>
+ <command
+ id="org.eclipse.emf.cdo.dawn.lockObjects"
+ name="LockObjects">
+ </command>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ id="org.eclipse.emf.cdo.dawn.handleConflict"
+ name="HandleConflict">
+ </command>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ </extension>
+</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.dawn/schema/org.eclipse.emf.cdo.dawn.editpartstylizers.exsd b/plugins/org.eclipse.emf.cdo.dawn/schema/org.eclipse.emf.cdo.dawn.editpartstylizers.exsd
new file mode 100644
index 0000000000..ea09490b93
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/schema/org.eclipse.emf.cdo.dawn.editpartstylizers.exsd
@@ -0,0 +1,112 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.emf.cdo.dawn" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.eclipse.emf.cdo.dawn" id="org.eclipse.emf.cdo.dawn.editpartstylizers" name="Dawn EditPart Stylizers"/>
+ </appinfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <element ref="DawnEditPartStylizers"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute translatable="true"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="DawnEditPartStylizers">
+ <complexType>
+ <attribute name="editpart" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.gef.EditPart"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="stylizer" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.emf.cdo.dawn.appearance.DawnEditPartStylizer"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
diff --git a/plugins/org.eclipse.emf.cdo.dawn/schema/org.eclipse.emf.cdo.dawn.listeners.exsd b/plugins/org.eclipse.emf.cdo.dawn/schema/org.eclipse.emf.cdo.dawn.listeners.exsd
new file mode 100644
index 0000000000..8ae19753c1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/schema/org.eclipse.emf.cdo.dawn.listeners.exsd
@@ -0,0 +1,118 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.emf.cdo.dawn" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.eclipse.emf.cdo.dawn" id="org.eclipse.emf.cdo.dawn.listeners" name="DawnListeners"/>
+ </appinfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="DawnResourceListener"/>
+ <element ref="DawnTransactionListener"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute translatable="true"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="DawnResourceListener">
+ <complexType>
+ <attribute name="class" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.emf.cdo.dawn.notifications.AbstractDawnResoureChangeListener:"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="DawnTransactionListener">
+ <complexType>
+ <attribute name="class" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.emf.cdo.dawn.notifications.AbstractDawnListener:"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/DawnRuntimePlugin.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/DawnRuntimePlugin.java
new file mode 100644
index 0000000000..24056004a6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/DawnRuntimePlugin.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) 2009 - 2010 Martin Fluegge (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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+import org.osgi.framework.BundleContext;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnRuntimePlugin extends AbstractUIPlugin
+{
+ public static final String PLUGIN_ID = "org.eclipse.emf.cdo.dawn";
+
+ private static DawnRuntimePlugin plugin;
+
+ /**
+ * The constructor
+ */
+ public DawnRuntimePlugin()
+ {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception
+ {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception
+ {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static DawnRuntimePlugin getDefault()
+ {
+ return plugin;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/HandleConflictsAction.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/HandleConflictsAction.java
new file mode 100644
index 0000000000..1970400eae
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/HandleConflictsAction.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2009 - 2010 Martin Fluegge (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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.actions;
+
+import org.eclipse.emf.cdo.dawn.diagram.part.IDawnDiagramEditor;
+import org.eclipse.emf.cdo.dawn.helper.DawnEditorHelper;
+import org.eclipse.emf.cdo.dawn.synchronize.DawnConflictHelper;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+/**
+ * @author Martin Fluegge
+ */
+public class HandleConflictsAction implements IObjectActionDelegate
+{
+
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, HandleConflictsAction.class);
+
+ private Object selectedElement;
+
+ public final static String ID = "org.eclipse.emf.cdo.dawn.actions.HandleConflictAction";
+
+ public HandleConflictsAction()
+ {
+ }
+
+ public void run(IAction action)
+ {
+
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Start solving conflicts for {0}", selectedElement); //$NON-NLS-1$
+ }
+
+ IEditorPart activeEditor = DawnEditorHelper.getActiveEditor();
+ if (activeEditor instanceof IDawnDiagramEditor)
+ {
+ MessageDialog dialog = new MessageDialog(DawnEditorHelper.getActiveShell(), "Conflict", null,
+ "There are conflicts in your diagram. Would you like to rollback your current transaction?",
+ MessageDialog.QUESTION, new String[] { "yes", "no", "Cancel" }, 1);
+
+ switch (dialog.open())
+ {
+ case 0: // yes
+ DawnConflictHelper.rollback((DiagramDocumentEditor)activeEditor);
+ break;
+ case 1: // no
+ break;
+ default: // cancel
+ break;
+ }
+ }
+ }
+
+ public void selectionChanged(IAction action, ISelection selection)
+ {
+ selectedElement = null;
+ if (selection instanceof IStructuredSelection)
+ {
+ IStructuredSelection structuredSelection = (IStructuredSelection)selection;
+ if (structuredSelection.getFirstElement() instanceof EditPart)
+ {
+ selectedElement = structuredSelection.getFirstElement();
+ }
+ }
+ }
+
+ public void setActivePart(IAction action, IWorkbenchPart targetPart)
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/LockObjectsAction.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/LockObjectsAction.java
new file mode 100644
index 0000000000..c3783e0f1b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/LockObjectsAction.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.actions;
+
+import org.eclipse.emf.cdo.dawn.helper.DawnEditorHelper;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+/**
+ * @author Martin Fluegge
+ */
+public class LockObjectsAction implements IObjectActionDelegate
+{
+ public final static String ID = "org.eclipse.emf.cdo.dawn.LockObjectsAction";
+
+ public LockObjectsAction()
+ {
+ }
+
+ public void run(IAction action)
+ {
+ MessageDialog.openInformation(DawnEditorHelper.getActiveShell(), "", "Locking not yet supported.");
+ }
+
+ public void selectionChanged(IAction action, ISelection selection)
+ {
+ }
+
+ public void setActivePart(IAction action, IWorkbenchPart targetPart)
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/UnLockObjectsAction.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/UnLockObjectsAction.java
new file mode 100644
index 0000000000..33f13e927a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/actions/UnLockObjectsAction.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.actions;
+
+import org.eclipse.emf.cdo.dawn.helper.DawnEditorHelper;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+/**
+ * @author Martin Fluegge
+ */
+public class UnLockObjectsAction implements IObjectActionDelegate
+{
+ public final static String ID = "org.eclipse.emf.cdo.dawn.UnlockObjectsAction";
+
+ public UnLockObjectsAction()
+ {
+ }
+
+ public void run(IAction action)
+ {
+ MessageDialog.openInformation(DawnEditorHelper.getActiveShell(), "", "Locking not yet supported");
+ }
+
+ public void selectionChanged(IAction action, ISelection selection)
+ {
+ }
+
+ public void setActivePart(IAction action, IWorkbenchPart targetPart)
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnAppearancer.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnAppearancer.java
new file mode 100644
index 0000000000..c4d8367bc6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnAppearancer.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.appearance;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.util.EditPartUtilities;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnAppearancer
+{
+ public static final int DEFAULT_BORDER_THICKNESS = 2;
+
+ public static final int DEFAULT_LINE_THICKNESS = 3;
+
+ public static final Color COLOR_NO_BORDER = new Color(null, 255, 255, 255);
+
+ public static final Color COLOR_LOCKED_REMOTELY = ColorConstants.yellow;
+
+ public static final Color COLOR_LOCKED_LOCALLY = ColorConstants.green;
+
+ public static final Color COLOR_DELETE_CONFLICT = new Color(null, 255, 0, 0);
+
+ public static final Color COLOR_CHANGE_CONFLICT = new Color(null, 0, 0, 255);
+
+ public static final Color COLOR_NO_CONFLICT = new Color(null, 255, 255, 255);
+
+ public static final int TYPE_CONFLICT_NONE = -1;
+
+ public static final int TYPE_CONFLICT_LOCALLY_DELETED = 0;
+
+ public static final int TYPE_CONFLICT_REMOTELY_DELETED = 1;
+
+ public static final int TYPE_CONFLICT_REMOTELY_AND_LOCALLY_CHANGED = 2;
+
+ public static final int TYPE_LOCKED_LOCALLY = 3;
+
+ public static final int TYPE_LOCKED_GLOBALLY = 4;
+
+ public static void setEdiPartConflicted(EditPart editPart, int type)
+ {
+ DawnEditPartStylizer stylizer = DawnEditPartStylizerRegistry.instance.getStylizer(editPart);
+ if (stylizer != null)
+ {
+ stylizer.setConflicted(editPart, type);
+ }
+ }
+
+ public static void setEditPartDefaultAllChildren(EditPart editPart)
+ {
+ setEditPartDefault(editPart);
+
+ for (Object child : EditPartUtilities.getAllChildren((GraphicalEditPart)editPart))
+ {
+ setEditPartDefaultAllChildren((EditPart)child);
+ }
+ }
+
+ public static void setEditPartDefault(EditPart editPart)
+ {
+ DawnEditPartStylizer stylizer = DawnEditPartStylizerRegistry.instance.getStylizer(editPart);
+ if (stylizer != null)
+ {
+ stylizer.setDefault(editPart);
+ }
+ }
+
+ protected static void setEditPartLocked(EditPart editPart, int type)
+ {
+ DawnEditPartStylizer stylizer = DawnEditPartStylizerRegistry.instance.getStylizer(editPart);
+ if (stylizer != null)
+ {
+ stylizer.setDefault(editPart);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnEditPartStylizer.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnEditPartStylizer.java
new file mode 100644
index 0000000000..b26837efc1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnEditPartStylizer.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.appearance;
+
+import org.eclipse.gef.EditPart;
+
+/**
+ * An EditPartStylizer can influence the visual representation of the models state. Dawn knows three states - default,
+ * conflicted and locked. By implementing an own DawnStylizer you can influence the appearance of the three states for
+ * your EditPart and it's related models. New stylizer can be registered to Dawn using the
+ * <b>org.eclipse.emf.cdo.dawn.editpartstylizers</b> extension point.
+ *
+ * @author Martin Fluegge
+ */
+public interface DawnEditPartStylizer
+{
+ public void setDefault(EditPart editPart);
+
+ public void setConflicted(EditPart editPart, int type);
+
+ public void setLocked(EditPart editPart, int type);
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnEditPartStylizerRegistry.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnEditPartStylizerRegistry.java
new file mode 100644
index 0000000000..a7ba568a06
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/DawnEditPartStylizerRegistry.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.appearance;
+
+import org.eclipse.emf.cdo.dawn.appearance.impl.DawnBasicConnectionEditPartStylizerImpl;
+import org.eclipse.emf.cdo.dawn.appearance.impl.DawnBasicGraphicalEditPartStylizerImpl;
+import org.eclipse.emf.cdo.dawn.appearance.impl.DawnBasicNodeEditPartStylizerImpl;
+import org.eclipse.emf.cdo.dawn.appearance.impl.DawnBasicTextAwareEditPartStylizerImpl;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.InvalidRegistryObjectException;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.NodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class DawnEditPartStylizerRegistry
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnEditPartStylizerRegistry.class);
+
+ private static final String DAWN_STYLIZER_EXTENSION_POINT_ID = "org.eclipse.emf.cdo.dawn.editpartstylizers";
+
+ public static DawnEditPartStylizerRegistry instance = new DawnEditPartStylizerRegistry();
+
+ private Map<String, DawnEditPartStylizer> registeredStylizers = new HashMap<String, DawnEditPartStylizer>();
+
+ public DawnEditPartStylizer getStylizer(EditPart editPart)
+ {
+ DawnEditPartStylizer stylizer = registeredStylizers.get(editPart.getClass().getCanonicalName());
+
+ if (stylizer == null)
+ {
+ stylizer = getStylizerFromExtensionPoint(editPart);
+ }
+
+ if (stylizer == null)
+ {
+ stylizer = getDefaultStylizer(editPart);
+ }
+
+ return stylizer;
+ }
+
+ private DawnEditPartStylizer getDefaultStylizer(EditPart editPart)
+ {
+ DawnEditPartStylizer stylizer = null;
+ if (editPart instanceof ConnectionEditPart)
+ {
+ stylizer = new DawnBasicConnectionEditPartStylizerImpl();
+ }
+ else if (editPart instanceof NodeEditPart)
+ {
+ stylizer = new DawnBasicNodeEditPartStylizerImpl();
+ }
+ else if (editPart instanceof DiagramEditPart)
+ {
+ stylizer = new DawnBasicNodeEditPartStylizerImpl();
+ }
+ else if (editPart instanceof ITextAwareEditPart)
+ {
+ stylizer = new DawnBasicTextAwareEditPartStylizerImpl();
+ }
+ else
+ {
+ // In the case that there is no match we use a simple border styled stylizer.
+ stylizer = new DawnBasicGraphicalEditPartStylizerImpl();
+ }
+
+ return stylizer;
+ }
+
+ private DawnEditPartStylizer getStylizerFromExtensionPoint(EditPart editPart)
+ {
+ try
+ {
+ IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(
+ DAWN_STYLIZER_EXTENSION_POINT_ID);
+ for (IConfigurationElement e : config)
+ {
+ if (editPart.getClass().getCanonicalName().equals(e.getAttribute("editpart")))
+ {
+ DawnEditPartStylizer stylizer = (DawnEditPartStylizer)e.createExecutableExtension("stylizer");
+ registeredStylizers.put(editPart.getClass().getCanonicalName(), stylizer);
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Registered DawnEditPartStylizer {0} ", stylizer); //$NON-NLS-1$
+ }
+
+ return stylizer;
+ }
+ }
+ }
+ catch (InvalidRegistryObjectException e1)
+ {
+ e1.printStackTrace();
+ }
+ catch (CoreException e)
+ {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicConnectionEditPartStylizerImpl.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicConnectionEditPartStylizerImpl.java
new file mode 100644
index 0000000000..8f5939ac4c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicConnectionEditPartStylizerImpl.java
@@ -0,0 +1,104 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.appearance.impl;
+
+import org.eclipse.emf.cdo.dawn.appearance.DawnAppearancer;
+import org.eclipse.emf.cdo.dawn.appearance.DawnEditPartStylizer;
+
+import org.eclipse.emf.workspace.AbstractEMFOperation;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.common.core.util.StringStatics;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.ChangePropertyValueRequest;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities;
+import org.eclipse.gmf.runtime.emf.core.util.PackageUtil;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnBasicConnectionEditPartStylizerImpl implements DawnEditPartStylizer
+{
+
+ public void setDefault(EditPart editPart)
+ {
+ setEdge(editPart, DawnAppearancer.COLOR_NO_CONFLICT);
+ }
+
+ public void setConflicted(EditPart editPart, int type)
+ {
+ Color color = DawnAppearancer.COLOR_DELETE_CONFLICT;
+ setEdge(editPart, color);
+ }
+
+ private void setEdge(EditPart editPart, Color color)
+ {
+ ChangePropertyValueRequest request = new ChangePropertyValueRequest(StringStatics.BLANK, PackageUtil
+ .getID(NotationPackage.eINSTANCE.getLineStyle_LineColor()), FigureUtilities.colorToInteger(color));
+ final Command command = editPart.getCommand(request);
+
+ AbstractEMFOperation operation = new AbstractEMFOperation(((IGraphicalEditPart)editPart).getEditingDomain(),
+ StringStatics.BLANK, null)
+ {
+ @Override
+ protected IStatus doExecute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ command.execute();
+ return Status.OK_STATUS;
+ }
+ };
+
+ try
+ {
+ operation.execute(new NullProgressMonitor(), null);
+ }
+ catch (ExecutionException e)
+ {
+ }
+
+ editPart.refresh();
+ editPart.getRoot().refresh();
+ }
+
+ public void setLocked(EditPart editPart, int type)
+ {
+ Color color = null;
+ switch (type)
+ {
+ case DawnAppearancer.TYPE_LOCKED_LOCALLY:
+ {
+ color = DawnAppearancer.COLOR_LOCKED_REMOTELY;
+ break;
+ }
+ case DawnAppearancer.TYPE_LOCKED_GLOBALLY:
+ {
+ color = DawnAppearancer.COLOR_LOCKED_LOCALLY;
+ break;
+ }
+
+ default:
+ break;
+ }
+ if (color != null)
+ {
+ setEdge(editPart, color);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicDiagramStylizerImpl.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicDiagramStylizerImpl.java
new file mode 100644
index 0000000000..4a9566f17d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicDiagramStylizerImpl.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.appearance.impl;
+
+import org.eclipse.emf.cdo.dawn.appearance.DawnEditPartStylizer;
+
+import org.eclipse.gef.EditPart;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnBasicDiagramStylizerImpl implements DawnEditPartStylizer
+{
+ public void setDefault(EditPart editpart)
+ {
+ }
+
+ public void setConflicted(EditPart editpart, int type)
+ {
+ }
+
+ public void setLocked(EditPart editpart, int type)
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicGraphicalEditPartStylizerImpl.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicGraphicalEditPartStylizerImpl.java
new file mode 100644
index 0000000000..689951749b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicGraphicalEditPartStylizerImpl.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.appearance.impl;
+
+import org.eclipse.emf.cdo.dawn.appearance.DawnAppearancer;
+import org.eclipse.emf.cdo.dawn.appearance.DawnEditPartStylizer;
+
+import org.eclipse.draw2d.Border;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.LineBorder;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnBasicGraphicalEditPartStylizerImpl implements DawnEditPartStylizer
+{
+ public void setDefault(EditPart editPart)
+ {
+ setBorder(editPart, null);
+ }
+
+ public void setConflicted(EditPart editPart, int type)
+ {
+ setBorder(editPart, DawnAppearancer.COLOR_DELETE_CONFLICT, DawnAppearancer.DEFAULT_BORDER_THICKNESS);
+ }
+
+ public void setLocked(EditPart editPart, int type)
+ {
+ setBorder(editPart, DawnAppearancer.COLOR_LOCKED_REMOTELY, DawnAppearancer.DEFAULT_BORDER_THICKNESS);
+ }
+
+ protected void setBorder(EditPart editPart, Color color, int thickness)
+ {
+ Border thickBorder = new LineBorder(color, thickness);
+ setBorder(editPart, thickBorder);
+ }
+
+ protected void setBorder(EditPart editPart, Border border)
+ {
+ GraphicalEditPart e = (GraphicalEditPart)editPart;
+
+ IFigure figure = e.getFigure();
+ figure.setBorder(border);
+ editPart.refresh();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicNodeEditPartStylizerImpl.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicNodeEditPartStylizerImpl.java
new file mode 100644
index 0000000000..f6ea8089d7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicNodeEditPartStylizerImpl.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.appearance.impl;
+
+import org.eclipse.emf.cdo.dawn.appearance.DawnAppearancer;
+
+import org.eclipse.gef.EditPart;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnBasicNodeEditPartStylizerImpl extends DawnBasicGraphicalEditPartStylizerImpl
+{
+
+ @Override
+ public void setDefault(EditPart editPart)
+ {
+ setBorder(editPart, DawnAppearancer.COLOR_NO_CONFLICT, 0);
+ }
+
+ @Override
+ public void setConflicted(EditPart editPart, int type)
+ {
+ setBorder(editPart, DawnAppearancer.COLOR_DELETE_CONFLICT, DawnAppearancer.DEFAULT_BORDER_THICKNESS);
+ }
+
+ @Override
+ public void setLocked(EditPart editPart, int type)
+ {
+ setBorder(editPart, DawnAppearancer.COLOR_LOCKED_REMOTELY, DawnAppearancer.DEFAULT_BORDER_THICKNESS);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicTextAwareEditPartStylizerImpl.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicTextAwareEditPartStylizerImpl.java
new file mode 100644
index 0000000000..ac8fd48996
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBasicTextAwareEditPartStylizerImpl.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.appearance.impl;
+
+import org.eclipse.emf.cdo.dawn.appearance.DawnAppearancer;
+
+import org.eclipse.draw2d.Border;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnBasicTextAwareEditPartStylizerImpl extends DawnBasicGraphicalEditPartStylizerImpl
+{
+
+ Map<EditPart, Border> oldValues = new HashMap<EditPart, Border>();
+
+ @Override
+ public void setDefault(EditPart editPart)
+ {
+ setBorder(editPart, oldValues.get(editPart));
+ }
+
+ @Override
+ public void setConflicted(EditPart editPart, int type)
+ {
+ final IGraphicalEditPart e = (IGraphicalEditPart)editPart;
+
+ // TODO Setting the foreground color just works until the EditPart is refreshed and the default color is used again.
+ // Find a better way to handle this.
+ // e.getFigure().setForegroundColor(DawnAppearancer.COLOR_DELETE_CONFLICT);
+ oldValues.put(e, e.getFigure().getBorder());
+
+ setBorder(editPart, DawnAppearancer.COLOR_DELETE_CONFLICT, DawnAppearancer.DEFAULT_BORDER_THICKNESS);
+ // View view = (View)e.getModel();
+ // FontStyle style = (FontStyle)view.getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ // if (style == null)
+ // {
+ // style = NotationFactory.eINSTANCE.createFontStyle();
+ // style.setFontColor(FigureUtilities.colorToInteger(DiagramColorConstants.red));
+ // style.setBold(true);
+ //
+ // view.getStyles().add(style);
+ // }
+ }
+
+ @Override
+ public void setLocked(EditPart editPart, int type)
+ {
+ setBorder(editPart, DawnAppearancer.COLOR_LOCKED_REMOTELY, DawnAppearancer.DEFAULT_BORDER_THICKNESS);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBlinkingNodeEditPartStylizerImpl.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBlinkingNodeEditPartStylizerImpl.java
new file mode 100644
index 0000000000..169d254109
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/appearance/impl/DawnBlinkingNodeEditPartStylizerImpl.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.appearance.impl;
+
+import org.eclipse.emf.cdo.dawn.appearance.DawnAppearancer;
+
+import org.eclipse.gef.EditPart;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnBlinkingNodeEditPartStylizerImpl extends DawnBasicGraphicalEditPartStylizerImpl
+{
+
+ BlinkingThread blinkingThread;
+
+ public DawnBlinkingNodeEditPartStylizerImpl()
+ {
+ blinkingThread = new BlinkingThread();
+ blinkingThread.start();
+ }
+
+ @Override
+ public void setDefault(EditPart editPart)
+ {
+ blinkingThread.stop(editPart);
+ setBorder(editPart, DawnAppearancer.COLOR_NO_CONFLICT, 0);
+ }
+
+ @Override
+ public void setConflicted(EditPart editPart, int type)
+ {
+ blinkingThread.start(editPart);
+ }
+
+ @Override
+ public void setLocked(EditPart editPart, int type)
+ {
+ setBorder(editPart, DawnAppearancer.COLOR_LOCKED_REMOTELY, DawnAppearancer.DEFAULT_BORDER_THICKNESS);
+ }
+
+ protected class BlinkingThread extends Thread
+ {
+
+ Map<EditPart, Boolean> editParts = new HashMap<EditPart, Boolean>();
+
+ @Override
+ public void run()
+ {
+ while (true)
+ {
+ for (EditPart e : editParts.keySet())
+ {
+ if (editParts.get(e))
+ {
+ setBorder(e, DawnAppearancer.COLOR_NO_CONFLICT, DawnAppearancer.DEFAULT_BORDER_THICKNESS);
+ }
+ else
+ {
+ setBorder(e, DawnAppearancer.COLOR_DELETE_CONFLICT, DawnAppearancer.DEFAULT_BORDER_THICKNESS);
+ }
+
+ editParts.put(e, !editParts.get(e));
+ }
+ try
+ {
+ Thread.sleep(500);
+ }
+ catch (InterruptedException e1)
+ {
+ e1.printStackTrace();
+ }
+ }
+ }
+
+ public void start(EditPart editPart)
+ {
+ editParts.put(editPart, true);
+ }
+
+ public void stop(EditPart editPart)
+ {
+ editParts.remove(editPart);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/commands/CreateSemanticResourceRecordingCommand.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/commands/CreateSemanticResourceRecordingCommand.java
new file mode 100644
index 0000000000..a2633008dd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/commands/CreateSemanticResourceRecordingCommand.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2009 - 2010 Martin Fluegge (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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.commands;
+
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+/**
+ * @author Martin Fluegge
+ */
+public class CreateSemanticResourceRecordingCommand extends RecordingCommand
+{
+
+ private final CDOTransaction cdoTransaction;
+
+ private Resource resource;
+
+ private final String resourcePath;
+
+ public CreateSemanticResourceRecordingCommand(TransactionalEditingDomain editingDomain,
+ CDOTransaction cdoTransaction, String resourcePath)
+ {
+ super(editingDomain);
+ this.cdoTransaction = cdoTransaction;
+ this.resourcePath = resourcePath;
+ }
+
+ @Override
+ protected void doExecute()
+ {
+ resource = cdoTransaction.getOrCreateResource(resourcePath.replace("cdo:", ""));
+ }
+
+ public Resource getResource()
+ {
+ return resource;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/conflicts/ResourceSynchronizer.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/conflicts/ResourceSynchronizer.java
new file mode 100644
index 0000000000..12ae94cdce
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/conflicts/ResourceSynchronizer.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.conflicts;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Map;
+import java.util.Observer;
+import java.util.Set;
+
+/**
+ * @author Martin Fluegge
+ */
+public interface ResourceSynchronizer
+{
+ public static final int NO_CONFLICT = -1;
+
+ public static final int REMOTELY_DELTETION_CONFLICT = 0;
+
+ public static final int LOCALLY_DELTETION_CONFLICT = 1;
+
+ public static final int REMOTELY_AND_LOCALLY_CHANGED_CONFLICT = 2;
+
+ void loadLastResource();
+
+ void saveLastResource(Resource localResource);
+
+ void setGloballyLocked(Set<String> lockedObjects);
+
+ Set<String> getGloballyLocked();
+
+ void setRemoteLocks(Map<String, Integer> lockedObjects);
+
+ void setIgnored(EObject obj);
+
+ void setIgnored(String id);
+
+ void setLastResource(Resource lastResource);
+
+ Resource getLastResource();
+
+ void unIgnored(String id);
+
+ int getConflictType(String key);
+
+ void resolveDeletedLocallyConflict(String xmiId);
+
+ void resolveChangedLocalyAndRemotellyConflict(String xmiId);
+
+ void resolveDeletedRemotellyConflict(String xmiId);
+
+ void updateViewWithRemoteView(View obj);
+
+ void lastResourceDeleteView(View newView);
+
+ void lastResourceChangeView(View newView);
+
+ boolean isConflicted();
+
+ void cleanIgnoreList();
+
+ void setSelectedElements(Set<EObject> selectedElements);
+
+ Set<EObject> getSelectedElements();
+
+ void setIgnoreList(Set<String> ignoreList);
+
+ Set<String> getIgnoreList();
+
+ void setLocallyLocked(Set<String> locallyLocked);
+
+ Set<String> getLocallyLocked();
+
+ void addObserver(Observer observer);
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/diagram/part/IDawnDiagramEditor.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/diagram/part/IDawnDiagramEditor.java
new file mode 100644
index 0000000000..ab0455ab7f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/diagram/part/IDawnDiagramEditor.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.diagram.part;
+
+import org.eclipse.emf.cdo.view.CDOView;
+
+/**
+ * @author Martin Fluegge
+ */
+public interface IDawnDiagramEditor
+{
+
+ public String getContributorID();
+
+ public CDOView getView();
+
+ public void setDirty();
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/elementtypes/DawnElementTypeHelper.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/elementtypes/DawnElementTypeHelper.java
new file mode 100644
index 0000000000..742ca77055
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/elementtypes/DawnElementTypeHelper.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.elementtypes;
+
+/**
+ *
+ * @author Martin Fluegge
+ */
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.notation.View;
+
+public interface DawnElementTypeHelper
+{
+ IElementType getElementType(View view);
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/elementtypes/DawnElementTypeHelperFactory.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/elementtypes/DawnElementTypeHelperFactory.java
new file mode 100644
index 0000000000..b89b008d1d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/elementtypes/DawnElementTypeHelperFactory.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.elementtypes;
+
+/**
+ * @author Martin Fluegge
+ */
+public interface DawnElementTypeHelperFactory
+{
+ DawnElementTypeHelper create();
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/exceptions/EClassIncompatibleException.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/exceptions/EClassIncompatibleException.java
new file mode 100644
index 0000000000..d6520a198a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/exceptions/EClassIncompatibleException.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Flüuege - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.exceptions;
+
+/**
+ * @author Martin Fluegge
+ */
+public class EClassIncompatibleException extends Exception
+{
+
+ private static final long serialVersionUID = 1L;
+
+ public EClassIncompatibleException()
+ {
+ super();
+ }
+
+ public EClassIncompatibleException(String s)
+ {
+ super(s);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/helper/DawnEditorHelper.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/helper/DawnEditorHelper.java
new file mode 100644
index 0000000000..4f1aa74ff9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/helper/DawnEditorHelper.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.helper;
+
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnEditorHelper
+{
+ public static Shell getActiveShell()
+ {
+ Shell shell = Display.getCurrent().getActiveShell();
+ return shell;
+ }
+
+ public static IEditorPart getActiveEditor()
+ {
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ IEditorPart editor = null;
+ if (window != null)
+ {
+ IWorkbenchPage page = window.getActivePage();
+ if (page != null)
+ {
+ editor = page.getActiveEditor();
+ }
+ }
+ return editor;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/AbstractDawnResoureChangeListener.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/AbstractDawnResoureChangeListener.java
new file mode 100644
index 0000000000..6118276736
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/AbstractDawnResoureChangeListener.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.CDOAdapter;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+
+/**
+ * @author Martin Fluegge
+ */
+public abstract class AbstractDawnResoureChangeListener extends org.eclipse.emf.ecore.util.EContentAdapter implements
+ CDOAdapter
+{
+
+ protected DiagramDocumentEditor editor;
+
+ public AbstractDawnResoureChangeListener()
+ {
+ // TODO remove this and create the listener with the other conatructor using java reflections
+ // Only for framework access. Customers should always use the constructor with the DiagramDocumentEditor parameter
+ }
+
+ public AbstractDawnResoureChangeListener(DiagramDocumentEditor editor)
+ {
+ this.editor = editor;
+ }
+
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ super.notifyChanged(notification);
+ }
+
+ public void setEditor(DiagramDocumentEditor editor)
+ {
+ this.editor = editor;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/BasicDawnListener.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/BasicDawnListener.java
new file mode 100644
index 0000000000..c4f6bedfd0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/BasicDawnListener.java
@@ -0,0 +1,120 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.dawn.synchronize.DawnConflictHelper;
+import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.util.CDOUtil;
+import org.eclipse.emf.cdo.util.InvalidObjectException;
+import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent;
+
+import org.eclipse.net4j.util.event.IEvent;
+import org.eclipse.net4j.util.event.IListener;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * @author Martin Fluegge
+ */
+public class BasicDawnListener implements IListener
+{
+ protected DiagramDocumentEditor editor;
+
+ public void setEditor(DiagramDocumentEditor editor)
+ {
+ this.editor = editor;
+ }
+
+ public BasicDawnListener()
+ {
+ }
+
+ public BasicDawnListener(DiagramDocumentEditor editor)
+ {
+ this.editor = editor;
+ }
+
+ public void notifyEvent(IEvent event)
+ {
+ if (event instanceof CDOViewInvalidationEvent)
+ {
+ CDOViewInvalidationEvent e = (CDOViewInvalidationEvent)event;
+
+ for (CDOObject object : e.getDirtyObjects())
+ {
+ System.out.println("Dirty: " + object);
+ }
+ for (CDOObject object : e.getDetachedObjects())
+ {
+ System.out.println("Dirty: " + object);
+ }
+ }
+ else
+ {
+ System.out.println("Unhandeled Event: " + event);
+ }
+ }
+
+ /**
+ * Edges must be adjusted because of the transience of the Node source/targetEdges CDO cannot see this because
+ * removing an edges just removes the edge from the diagram. CDO just notices the change in the diagram but not in the
+ * (detached) edge. The other site (node) is transient and will not be part of the notification. So I must adjust this
+ * later. CDOLEgacy Wrapper breakes because it only adjusts the changes in the diagram and not the removed edge. So I
+ * cannot adjust this in the Wrapper. Maybe there is another more generic way.
+ */
+ public static void adjustDeletedEdges(final CDOViewInvalidationEvent e)
+ {
+ Display.getDefault().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ for (CDOObject obj : e.getDetachedObjects())
+ {
+ EObject view = CDOUtil.getEObject(obj);
+ if (view instanceof Edge)
+ {
+ try
+ {
+ ((Edge)view).setTarget(null);
+ }
+ catch (InvalidObjectException ignore)
+ {
+ }
+
+ try
+ {
+ ((Edge)view).setSource(null);
+ }
+ catch (InvalidObjectException ignore)
+ {
+ }
+ }
+ }
+ }
+ });
+ }
+
+ protected void handleConflicts(CDOViewInvalidationEvent e)
+ {
+ for (CDOObject obj : e.getDetachedObjects())
+ {
+ EObject element = CDOUtil.getEObject(obj);
+ View view = DawnDiagramUpdater.findViewByContainer(element);
+ DawnConflictHelper.handleConflictedView(CDOUtil.getCDOObject(element), view, editor);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnElementChangeListener.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnElementChangeListener.java
new file mode 100644
index 0000000000..483d0302f7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnElementChangeListener.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.AbstractDocumentProvider;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnElementChangeListener extends org.eclipse.emf.ecore.util.EContentAdapter
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnElementChangeListener.class);
+
+ private final DiagramDocumentEditor editor;
+
+ public DawnElementChangeListener(DiagramDocumentEditor editor)
+ {
+ this.editor = editor;
+ }
+
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ super.notifyChanged(notification);
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Changes on element {0} | on target {1}", notification, target); //$NON-NLS-1$
+ }
+
+ DawnDiagramUpdater.refreshEditPart(editor.getDiagramEditPart());
+ ((AbstractDocumentProvider)editor.getDocumentProvider()).changed(editor.getEditorInput());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFSessionListener.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFSessionListener.java
new file mode 100644
index 0000000000..e81be78e15
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFSessionListener.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+import org.eclipse.emf.cdo.session.CDOSessionInvalidationEvent;
+
+import org.eclipse.net4j.util.event.IEvent;
+import org.eclipse.net4j.util.event.IListener;
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnGMFSessionListener implements IListener
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnGMFSessionListener.class);
+
+ public void notifyEvent(IEvent event)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Starting SessionListener with Event: ", event); //$NON-NLS-1$
+ }
+ if (event instanceof CDOSessionInvalidationEvent)
+ {
+
+ CDOSessionInvalidationEvent e = (CDOSessionInvalidationEvent)event;
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Detached Objects {0} ", e.getDetachedObjects()); //$NON-NLS-1$
+ TRACER.format("New Objects {0} ", e.getNewObjects()); //$NON-NLS-1$
+ }
+
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Finished SessionListener with Event: ", event); //$NON-NLS-1$
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFTransactionListener.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFTransactionListener.java
new file mode 100644
index 0000000000..0d80149062
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFTransactionListener.java
@@ -0,0 +1,193 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.dawn.synchronize.DawnConflictHelper;
+import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+import org.eclipse.emf.cdo.transaction.CDOTransactionConflictEvent;
+import org.eclipse.emf.cdo.util.CDOUtil;
+import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent;
+
+import org.eclipse.net4j.util.event.IEvent;
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnGMFTransactionListener extends BasicDawnListener
+{
+
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnGMFTransactionListener.class);
+
+ public DawnGMFTransactionListener()
+ {
+ }
+
+ public DawnGMFTransactionListener(DiagramDocumentEditor editor)
+ {
+ super(editor);
+ }
+
+ @Override
+ public void notifyEvent(IEvent event)
+ {
+
+ if (event instanceof CDOViewInvalidationEvent)
+ {
+ CDOViewInvalidationEvent e = (CDOViewInvalidationEvent)event;
+
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Detached Objects {0} ", e.getDetachedObjects()); //$NON-NLS-1$
+ TRACER.format("Dirty Objects {0} ", e.getDirtyObjects()); //$NON-NLS-1$
+ }
+ adjustDeletedEdges(e);
+
+ for (CDOObject dirtyObject : e.getDirtyObjects())
+ {
+ handleObject(dirtyObject);
+ }
+
+ for (CDOObject detachedObject : e.getDetachedObjects())
+ {
+ handleObject(detachedObject);
+ }
+
+ }
+ else if (event instanceof CDOTransactionConflictEvent)
+ {
+ CDOTransactionConflictEvent cdoTransactionConflictEvent = (CDOTransactionConflictEvent)event;
+
+ CDOObject cdoObject = cdoTransactionConflictEvent.getConflictingObject();
+
+ EObject element = CDOUtil.getEObject(cdoObject); // either semantic object or notational
+ View view = DawnDiagramUpdater.findView(element);
+
+ if (DawnConflictHelper.isConflicted(cdoObject))
+ {
+ DawnConflictHelper.handleConflictedView(cdoObject, view, editor);
+ return;
+ }
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Unhandled Event: {0} ", event); //$NON-NLS-1$
+ }
+ }
+ }
+
+ private void handleObject(CDOObject dirtyObject)
+ {
+ EObject element = CDOUtil.getEObject(dirtyObject); // either sementic object or notational
+ View view = DawnDiagramUpdater.findView(element);
+
+ if (DawnConflictHelper.isConflicted(dirtyObject))
+ {
+ // DawnConflictHelper.handleConflictedView(dirtyObject, view, editor);
+ return;
+ }
+
+ EditPart relatedEditPart = DawnDiagramUpdater.findEditPart(view, editor.getDiagramEditPart().getViewer());
+ if (relatedEditPart != null)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Updating EditPart {0} ", relatedEditPart); //$NON-NLS-1$
+ }
+ DawnDiagramUpdater.refreshEditPart(relatedEditPart.getParent(), editor);
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Updating DiagramEditPart {0} ", editor.getDiagramEditPart()); //$NON-NLS-1$
+ }
+ DawnDiagramUpdater.refreshEditPart(editor.getDiagramEditPart(), editor);
+ }
+ }
+ // TODO: Clarify teh relevance of this method especially the synchronization of the edge and removed it if it is not
+ // needed anymore
+ // private void handleView(View view, CDOObject object)
+ // {
+ // if (view instanceof Node)
+ // {
+ // if (TRACER.isEnabled())
+ // {
+ // TRACER.format("Handle Node: ", view); //$NON-NLS-1$
+ // }
+ //
+ // Node node = (Node)view;
+ // // final Node finalNode = (Node)view;
+ // // editor.getEditingDomain().getCommandStack().execute(new RecordingCommand(editor.getEditingDomain())
+ // // {
+ // // public void doExecute()
+ // // {
+ // // finalNode.getTargetEdges().clear();
+ // // finalNode.getSourceEdges().clear();
+ // // }
+ // // });
+ //
+ // // handleViewsEdge(node.getSourceEdges());
+ // // handleViewsEdge(node.getTargetEdges());
+ //
+ // for (Object child : node.getChildren())
+ // {
+ // handleView((View)child, object);
+ // }
+ // }
+ // else if (view instanceof Edge)
+ // {
+ // if (TRACER.isEnabled())
+ // {
+ // TRACER.format("Handle Edge: ", view); //$NON-NLS-1$
+ // }
+ //
+ // Edge edge = (Edge)view;
+ // Node source = (Node)edge.getSource();
+ // Node target = (Node)edge.getTarget();
+ // DawnDiagramUpdater.createOrFindEditPartIfViewExists(source, editor).refresh();
+ // DawnDiagramUpdater.createOrFindEditPartIfViewExists(target, editor).refresh();
+ // DawnDiagramUpdater.createOrFindEditPartIfViewExists(edge, editor).refresh();
+ // }
+ // else if (view instanceof Diagram)
+ // {
+ // if (TRACER.isEnabled())
+ // {
+ // TRACER.format("Handle Diagram: ", view); //$NON-NLS-1$
+ // }
+ // }
+ //
+ // EditPart editPart = DawnDiagramUpdater.createOrFindEditPartIfViewExists(view, editor);
+ //
+ // if (object.cdoConflict())
+ // {
+ // DawnAppearancer.setEdiPartConflicted(editPart, DawnAppearancer.TYPE_CONFLICT_LOCALLY_DELETED);
+ // }
+ // }
+
+ // private void handleViewsEdge(List edges)
+ // {
+ // for (Object o : edges)
+ // {
+ // System.out.println("\t-targetedge: " + o);
+ // }
+ // }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnLocalResoureChangeListener.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnLocalResoureChangeListener.java
new file mode 100644
index 0000000000..061ee749e2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnLocalResoureChangeListener.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.AbstractDocumentProvider;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnLocalResoureChangeListener extends AbstractDawnResoureChangeListener// org.eclipse.emf.ecore.util.EContentAdapter
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnLocalResoureChangeListener.class);
+
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("DawnLocalResoureChangeListener fired with notification: ", notification); //$NON-NLS-1$
+ }
+
+ // super.notifyChanged(notification);
+ // if (editor.getDocumentProvider() != null)
+ // {
+ // View view = DawnDiagramUpdater.findView((EObject)notification.getNotifier());
+ // EditPart relatedEditPart = DawnDiagramUpdater.findEditPart(view, editor.getDiagramEditPart().getViewer());
+ // if (relatedEditPart != null)
+ // {
+ // LOG.info("Updating EditPart " + relatedEditPart);
+ //
+ // DawnDiagramUpdater.refreshEditPart(relatedEditPart.getParent(), editor);
+ // }
+ //
+ DawnDiagramUpdater.refreshEditPart(editor.getDiagramEditPart(), editor);
+ ((AbstractDocumentProvider)editor.getDocumentProvider()).changed(editor.getEditorInput());
+ // }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationRegistry.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationRegistry.java
new file mode 100644
index 0000000000..ce834859bd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationRegistry.java
@@ -0,0 +1,108 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnNotificationRegistry
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnNotificationRegistry.class);
+
+ private static final String DAWN_RECOURCELISTENERS_ID = "org.eclipse.emf.cdo.dawn.listeners";
+
+ public static AbstractDawnResoureChangeListener createDawnResoureChangeListener(DiagramDocumentEditor editor)
+ {
+ AbstractDawnResoureChangeListener listener = null;
+ try
+ {
+ IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(
+ DAWN_RECOURCELISTENERS_ID);
+ for (IConfigurationElement e : config)
+ {
+ final Object o = e.createExecutableExtension("class");
+ if (o instanceof AbstractDawnResoureChangeListener)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Registering AbstractDawnResoureChangeListener {0} ", o); //$NON-NLS-1$
+ }
+
+ listener = (AbstractDawnResoureChangeListener)o;
+ listener.setEditor(editor);
+ return listener;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+
+ if (listener == null)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.trace("No AbstractDawnResoureChangeListener found in regsitry. Creating defaul listener."); //$NON-NLS-1$
+ }
+ listener = new DawnResoureChangeListener(editor);
+ }
+ return listener;
+ }
+
+ public static BasicDawnListener createDawnTransactionListener(DiagramDocumentEditor editor)
+ {
+ BasicDawnListener listener = null;
+ try
+ {
+ IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(
+ DAWN_RECOURCELISTENERS_ID);
+ for (IConfigurationElement e : config)
+ {
+ final Object o = e.createExecutableExtension("class");
+ if (o instanceof BasicDawnListener)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Registering TransactionListener {0} ", o); //$NON-NLS-1$
+ }
+
+ listener = (BasicDawnListener)o;
+ listener.setEditor(editor);
+ return listener;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+
+ if (listener == null)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.trace("No TransactionListener found in regsitry. Creating default listener."); //$NON-NLS-1$
+ }
+
+ listener = new BasicDawnListener(editor);
+ }
+ return listener;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationUtil.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationUtil.java
new file mode 100644
index 0000000000..991abaa2b2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationUtil.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.dawn.diagram.part.IDawnDiagramEditor;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.view.CDOAdapterPolicy;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.impl.TransactionChangeRecorder;
+
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.notation.Diagram;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnNotificationUtil
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnNotificationUtil.class);
+
+ /**
+ * This method removes all TransactionChangeRecorders from a given Notifier.
+ *
+ * @param notifier
+ */
+ public static void removeTransactionChangeRecorder(Notifier notifier)
+ {
+ List<Adapter> changeRecorders = new ArrayList<Adapter>();
+ for (Adapter adapter : notifier.eAdapters())
+ {
+ if (adapter instanceof TransactionChangeRecorder)
+ {
+ changeRecorders.add(adapter);
+ }
+ }
+
+ if (changeRecorders.size() > 0)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Removing Change Recorder on e {0} ", notifier); //$NON-NLS-1$
+ }
+
+ notifier.eAdapters().removeAll(changeRecorders);
+ }
+ }
+
+ public static void registerResourceListeners(ResourceSet resourceSet, DiagramDocumentEditor editor)
+ {
+ // AbstractDawnResoureChangeListener dawnResoureChangeListener = DawnNotificationRegistry
+ // .createDawnResoureChangeListener(editor);
+ // for (final Resource res : resourceSet.getResources())
+ // {
+ // res.eAdapters().add(dawnResoureChangeListener);
+ // }
+ }
+
+ public static void registerTransactionListeners(CDOTransaction transaction, IDawnDiagramEditor editor)
+ {
+ BasicDawnListener transactionListener = DawnNotificationRegistry
+ .createDawnTransactionListener((DiagramDocumentEditor)editor);
+ transaction.addListener(transactionListener);
+ transaction.addTransactionHandler(new DawnTransactionHandler(editor));
+ }
+
+ public static void setChangeSubscriptionPolicy(CDOTransaction transaction)
+ {
+ transaction.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.CDO);
+ }
+
+ public static void registerModelListeners(Diagram diagram, DiagramDocumentEditor editor)
+ {
+ // DawnElementChangeListener dawnElementChangeListener = new DawnElementChangeListener(editor);
+ // diagram.getElement().eAdapters().add(dawnElementChangeListener);
+ // diagram.eAdapters().add(dawnElementChangeListener);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnResoureChangeListener.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnResoureChangeListener.java
new file mode 100644
index 0000000000..6654691408
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnResoureChangeListener.java
@@ -0,0 +1,134 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.dawn.synchronize.DawnConflictHelper;
+import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CDOUtil;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.AbstractDocumentProvider;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnResoureChangeListener extends AbstractDawnResoureChangeListener
+{
+
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnResoureChangeListener.class);
+
+ public DawnResoureChangeListener()
+ {
+ super();
+ }
+
+ public DawnResoureChangeListener(DiagramDocumentEditor editor)
+ {
+ super(editor);
+ }
+
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("DawnResoureChangeListener fired. {0} ", notification); //$NON-NLS-1$
+ }
+
+ if (notification.getOldValue() instanceof DawnResoureChangeListener)
+ {
+ // TODO handle this better
+ if (TRACER.isEnabled())
+ {
+ TRACER.trace("No notification for ArrayDelegatingAdapterList"); //$NON-NLS-1$
+ }
+ return;
+ }
+ super.notifyChanged(notification);
+
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Changing feature {0} ", notification.getFeature()); //$NON-NLS-1$
+ TRACER.format("\t-OLD {0} ", notification.getOldValue()); //$NON-NLS-1$
+ TRACER.format("\t-NEW {0} ", notification.getNewValue()); //$NON-NLS-1$
+ }
+
+ CDOObject cdoObject = CDOUtil.getCDOObject((EObject)notification.getNotifier());
+
+ CDOView cdoView = cdoObject.cdoView();
+
+ if (!(cdoView instanceof CDOTransaction))
+ {
+ // no update if we are running on a view
+ return;
+ }
+ else if (cdoView instanceof CDOTransaction)
+ {
+ CDOTransaction transaction = (CDOTransaction)cdoView;
+ if (transaction.isClosed())
+ {
+ // do not act on a close transaction
+ return;
+ }
+ }
+
+ EObject element = CDOUtil.getEObject(cdoObject); // either sementic object or notational
+
+ View view = DawnDiagramUpdater.findViewByContainer(element);
+ if (view == null)
+ {
+ view = DawnDiagramUpdater.findViewForModel(element, editor);
+ }
+ DawnConflictHelper.handleConflictedView(cdoObject, view, editor);
+
+ EditPart relatedEditPart = DawnDiagramUpdater.findEditPart(view, editor.getDiagramEditPart().getViewer());
+ if (relatedEditPart != null)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Updating EditPart {0} ", relatedEditPart); //$NON-NLS-1$
+ }
+
+ DawnDiagramUpdater.refreshEditPart(relatedEditPart.getParent(), editor);
+ // if(view instanceof Edge)
+ // {
+ // Edge edge = (Edge)view;
+ // EditPart source = DawnDiagramUpdater.findEditPart(edge.getSource(), editor.getDiagramEditPart().getViewer());
+ // EditPart target = DawnDiagramUpdater.findEditPart(edge.getTarget(), editor.getDiagramEditPart().getViewer());
+ // if(source!=null)
+ // DawnDiagramUpdater.refreshEditPart(source, editor);
+ // if(target!=null)
+ // DawnDiagramUpdater.refreshEditPart(target, editor);
+ // }
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Updating DiagramEditPart {0} ", editor.getDiagramEditPart()); //$NON-NLS-1$
+ }
+ DawnDiagramUpdater.refreshEditPart(editor.getDiagramEditPart(), editor);
+ }
+ // set the editor dirty
+ ((AbstractDocumentProvider)editor.getDocumentProvider()).changed(editor.getEditorInput());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnSimpleGMFTransactionListener.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnSimpleGMFTransactionListener.java
new file mode 100644
index 0000000000..709f32734d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnSimpleGMFTransactionListener.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent;
+
+import org.eclipse.net4j.util.event.IEvent;
+
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnSimpleGMFTransactionListener extends BasicDawnListener
+{
+
+ public DawnSimpleGMFTransactionListener()
+ {
+ }
+
+ public DawnSimpleGMFTransactionListener(DiagramDocumentEditor editor)
+ {
+ super(editor);
+ }
+
+ @Override
+ public void notifyEvent(IEvent event)
+ {
+ if (event instanceof CDOViewInvalidationEvent)
+ {
+ CDOViewInvalidationEvent cdoViewInvalidationEvent = (CDOViewInvalidationEvent)event;
+ adjustDeletedEdges(cdoViewInvalidationEvent);
+ if (editor.getDocumentProvider() != null)
+ {
+ DawnDiagramUpdater.refreshEditPart(editor.getDiagramEditPart(), editor);
+ }
+ // handleConflicts(cdoViewInvalidationEvent);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionChangeRecorderRemover.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionChangeRecorderRemover.java
new file mode 100644
index 0000000000..f1e050c3c9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionChangeRecorderRemover.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent;
+
+import org.eclipse.net4j.util.event.IEvent;
+import org.eclipse.net4j.util.event.IListener;
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnTransactionChangeRecorderRemover implements IListener
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnTransactionChangeRecorderRemover.class);
+
+ private final DiagramDocumentEditor editor;
+
+ public DawnTransactionChangeRecorderRemover(DiagramDocumentEditor editor)
+ {
+ this.editor = editor;
+
+ }
+
+ public void notifyEvent(IEvent event)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Starting DawnTransactionChangeRecorderRemover with Event: {0} ", event); //$NON-NLS-1$
+ }
+
+ if (event instanceof CDOViewInvalidationEvent)
+ {
+ CDOViewInvalidationEvent cdoViewInvalidationEvent = (CDOViewInvalidationEvent)event;
+
+ if (editor.getDocumentProvider() != null)
+ {
+
+ for (CDOObject object : cdoViewInvalidationEvent.getDirtyObjects())
+ {
+ // TODO find a better solution maybe be writing an own TransactionalEditingDomain
+ DawnNotificationUtil.removeTransactionChangeRecorder(object);
+ }
+
+ // for (Object node : editor.getDiagram().getChildren())
+ // {
+ // System.out.println(node + " " + ((EObject)node).eAdapters());
+ // }
+ }
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Unhandled event: {0} ", event); //$NON-NLS-1$
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionHandler.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionHandler.java
new file mode 100644
index 0000000000..a827a6c3b3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionHandler.java
@@ -0,0 +1,167 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.notifications;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDelta;
+import org.eclipse.emf.cdo.dawn.diagram.part.IDawnDiagramEditor;
+import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+import org.eclipse.emf.cdo.transaction.CDOCommitContext;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.transaction.CDOTransactionHandler;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnTransactionHandler implements CDOTransactionHandler
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnElementChangeListener.class);
+
+ private final IDawnDiagramEditor editor;
+
+ public DawnTransactionHandler(IDawnDiagramEditor editor)
+ {
+ this.editor = editor;
+ }
+
+ public void attachingObject(CDOTransaction transaction, CDOObject object)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("attachingObject {0}", object); //$NON-NLS-1$
+ }
+ refresh(object);
+ editor.setDirty();
+
+ }
+
+ public void detachingObject(CDOTransaction transaction, CDOObject object)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("detachingObject {0}", object); //$NON-NLS-1$
+ }
+
+ editor.setDirty();
+ }
+
+ public void modifyingObject(CDOTransaction transaction, final CDOObject object, CDOFeatureDelta featureDelta)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("modifyingObject {0}", object); //$NON-NLS-1$
+ }
+
+ refresh(object);
+ editor.setDirty();
+ object.eAdapters().add(new Adapter()
+ {
+ public void setTarget(Notifier newTarget)
+ {
+ }
+
+ public void notifyChanged(Notification notification)
+ {
+ DawnDiagramUpdater.refreshEditPart(((DiagramDocumentEditor)editor).getDiagramEditPart(),
+ (DiagramDocumentEditor)editor);
+ object.eAdapters().remove(this);
+ }
+
+ public boolean isAdapterForType(Object type)
+ {
+ return false;
+ }
+
+ public Notifier getTarget()
+ {
+ return null;
+ }
+ });
+ }
+
+ private void refresh(CDOObject object)
+ {
+ View view = DawnDiagramUpdater.findViewByContainer(object);
+ if (view == null)
+ {
+ view = DawnDiagramUpdater.findViewForModel(object, (DiagramDocumentEditor)editor);
+ }
+ if (view == null)
+ {
+ DawnDiagramUpdater.findViewFromCrossReferences(object);
+ }
+
+ EditPart relatedEditPart = DawnDiagramUpdater.findEditPart(view, ((DiagramDocumentEditor)editor)
+ .getDiagramEditPart().getViewer());
+
+ if (relatedEditPart != null)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Updating EditPart {0} ", relatedEditPart); //$NON-NLS-1$
+ }
+ EditPart parent = relatedEditPart.getParent();
+ if (parent instanceof IGraphicalEditPart)
+ {
+ DawnDiagramUpdater.refresh((IGraphicalEditPart)parent);
+ }
+ else
+ {
+ DawnDiagramUpdater.refreshEditPart(parent, (DiagramDocumentEditor)editor);
+ }
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Updating DiagramEditPart {0} ", ((DiagramDocumentEditor)editor).getDiagramEditPart()); //$NON-NLS-1$
+ }
+
+ DawnDiagramUpdater.refresh(((DiagramDocumentEditor)editor).getDiagramEditPart());
+ }
+ }
+
+ public void committingTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("committingTransaction"); //$NON-NLS-1$
+ }
+ }
+
+ public void committedTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("committedTransaction"); //$NON-NLS-1$
+ }
+ }
+
+ public void rolledBackTransaction(CDOTransaction transaction)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("rolledBackTransaction"); //$NON-NLS-1$
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/DawnRemotePreferencePage.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/DawnRemotePreferencePage.java
new file mode 100644
index 0000000000..ba2f86847c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/DawnRemotePreferencePage.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.preferences;
+
+import org.eclipse.emf.cdo.dawn.DawnRuntimePlugin;
+
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnRemotePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage
+{
+
+ public DawnRemotePreferencePage()
+ {
+ super(GRID);
+ AbstractUIPlugin pluginInstance = DawnRuntimePlugin.getDefault();
+ setPreferenceStore(pluginInstance.getPreferenceStore()); // TODO generation
+ setDescription("Dawn Reference Pages");
+ }
+
+ /**
+ * Creates the field editors. Field editors are abstractions of the common GUI blocks needed to manipulate various
+ * types of preferences. Each field editor knows how to save and restore itself.
+ */
+ @Override
+ public void createFieldEditors()
+ {
+ addField(new StringFieldEditor(PreferenceConstants.P_SERVER_NAME, "server name:", getFieldEditorParent()));
+ addField(new IntegerFieldEditor(PreferenceConstants.P_SERVER_PORT, "server port:", getFieldEditorParent()));
+ addField(new StringFieldEditor(PreferenceConstants.P_REPOSITORY_NAME, "repository:", getFieldEditorParent()));
+ // TODO change this to a list of repositories to allow auto connection for the clients
+ addField(new StringFieldEditor(PreferenceConstants.P_PROTOCOL, "protocol:", getFieldEditorParent()));
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ public void init(IWorkbench workbench)
+ {
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/PreferenceConstants.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/PreferenceConstants.java
new file mode 100644
index 0000000000..b7c70f71ef
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/PreferenceConstants.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.preferences;
+
+import org.eclipse.emf.cdo.dawn.DawnRuntimePlugin;
+
+import org.eclipse.jface.preference.IPreferenceStore;
+
+/**
+ * @author Martin Fluegge
+ */
+public class PreferenceConstants
+{
+
+ public static final String P_SERVER_NAME = "serverURL";
+
+ public static final String P_SERVER_PORT = "serverPort";
+
+ public static final String P_REPOSITORY_NAME = "repositoryName";
+
+ public static final String P_PROTOCOL = "protocol";
+
+ public static String getServerName()
+ {
+ return getPreferenceStore().getString(P_SERVER_NAME);
+ }
+
+ public static String getServerPort()
+ {
+ return getPreferenceStore().getString(P_SERVER_PORT);
+ }
+
+ public static String getRepositoryName()
+ {
+ return getPreferenceStore().getString(P_REPOSITORY_NAME);
+ }
+
+ public static String getProtocol()
+ {
+ return getPreferenceStore().getString(P_PROTOCOL);
+ }
+
+ private static IPreferenceStore getPreferenceStore()
+ {
+ return DawnRuntimePlugin.getDefault().getPreferenceStore();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/PreferenceInitializer.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/PreferenceInitializer.java
new file mode 100644
index 0000000000..6fbe2b8581
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/preferences/PreferenceInitializer.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.preferences;
+
+import org.eclipse.emf.cdo.dawn.DawnRuntimePlugin;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * @author Martin Fluegge
+ */
+public class PreferenceInitializer extends AbstractPreferenceInitializer
+{
+
+ public PreferenceInitializer()
+ {
+ }
+
+ @Override
+ public void initializeDefaultPreferences()
+ {
+ AbstractUIPlugin pluginInstance = DawnRuntimePlugin.getDefault();
+
+ IPreferenceStore store = pluginInstance.getPreferenceStore();
+ store.setDefault(PreferenceConstants.P_SERVER_NAME, "localhost");
+ store.setDefault(PreferenceConstants.P_SERVER_PORT, 2036);
+ store.setDefault(PreferenceConstants.P_PROTOCOL, "tcp");
+ store.setDefault(PreferenceConstants.P_REPOSITORY_NAME, "repo1");
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/DawnResourceFactory.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/DawnResourceFactory.java
new file mode 100644
index 0000000000..9fd33db739
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/DawnResourceFactory.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.resources;
+
+import org.eclipse.emf.cdo.eresource.CDOResourceFactory;
+
+/**
+ * @author Martin Fluegge
+ */
+public interface DawnResourceFactory extends CDOResourceFactory
+{
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/DawnWrapperResource.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/DawnWrapperResource.java
new file mode 100644
index 0000000000..d1f3ee28ff
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/DawnWrapperResource.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.resources;
+
+import org.eclipse.emf.cdo.eresource.CDOResource;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * @author Martin Fluegge
+ */
+public interface DawnWrapperResource extends CDOResource, XMLResource
+{
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/impl/DawnResourceFactoryImpl.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/impl/DawnResourceFactoryImpl.java
new file mode 100644
index 0000000000..467ce7e501
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/impl/DawnResourceFactoryImpl.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.resources.impl;
+
+import org.eclipse.emf.cdo.dawn.resources.DawnResourceFactory;
+import org.eclipse.emf.cdo.eresource.impl.CDOResourceFactoryImpl;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnResourceFactoryImpl extends CDOResourceFactoryImpl implements DawnResourceFactory
+{
+ @Override
+ public Resource createResource(URI uri)
+ {
+ uri = URI.createURI(uri.toString().replace("dawn:", "cdo:"));
+ // String path = CDOURIUtil.extractResourcePath(uri);
+ DawnWrapperResourceImpl resource = new DawnWrapperResourceImpl(uri);
+ // resource.setRoot(CDOURIUtil.SEGMENT_SEPARATOR.equals(path));
+ resource.setExisting(isGetResource());
+ return resource;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/impl/DawnWrapperResourceImpl.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/impl/DawnWrapperResourceImpl.java
new file mode 100644
index 0000000000..2ac1186687
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/resources/impl/DawnWrapperResourceImpl.java
@@ -0,0 +1,172 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.resources.impl;
+
+import org.eclipse.emf.cdo.dawn.resources.DawnWrapperResource;
+import org.eclipse.emf.cdo.eresource.impl.CDOResourceImpl;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.xmi.DOMHandler;
+import org.eclipse.emf.ecore.xmi.DOMHelper;
+import org.eclipse.emf.ecore.xml.type.AnyType;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.xml.sax.InputSource;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+/**
+ * This class wrapper CDOResource and combines it with a XMLResource to avoid problems with GMF which casts internally
+ * to XML resource
+ *
+ * @author Martin Fluegge
+ */
+public class DawnWrapperResourceImpl extends CDOResourceImpl implements DawnWrapperResource
+{
+
+ public DawnWrapperResourceImpl(URI uri)
+ {
+ super(uri);
+ }
+
+ @Override
+ public void setRoot(boolean root)
+ {
+ super.setRoot(root);
+ }
+
+ @Override
+ protected void setExisting(boolean existing)
+ {
+ super.setExisting(existing);
+
+ }
+
+ /************ XML STUFF BEGIN ********************/
+
+ public DOMHelper getDOMHelper()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Map<Object, Object> getDefaultLoadOptions()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Map<Object, Object> getDefaultSaveOptions()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Map<EObject, AnyType> getEObjectToExtensionMap()
+ {
+
+ throw new UnsupportedOperationException();
+ }
+
+ public Map<EObject, String> getEObjectToIDMap()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getEncoding()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getID(EObject eObject)
+ {
+ return getURIFragment(eObject);
+ }
+
+ public Map<String, EObject> getIDToEObjectMap()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getPublicId()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getSystemId()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getXMLVersion()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void load(Node node, Map<?, ?> options) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void load(InputSource inputSource, Map<?, ?> options) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void save(Writer writer, Map<?, ?> options) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Document save(Document document, Map<?, ?> options, DOMHandler handler)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setDoctypeInfo(String publicId, String systemId)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setEncoding(String encoding)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setID(EObject eObject, String id)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setUseZip(boolean useZip)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setXMLVersion(String version)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean useZip()
+ {
+ return false;
+ }
+
+ /************ XML STUFF END ********************/
+ @Override
+ public String toString()
+ {
+
+ return "DawnWrapperResource (" + super.toString() + ")";
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/DawnChangeHelper.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/DawnChangeHelper.java
new file mode 100644
index 0000000000..dc7a9fedb1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/DawnChangeHelper.java
@@ -0,0 +1,628 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.synchronize;
+
+import org.eclipse.emf.cdo.dawn.exceptions.EClassIncompatibleException;
+import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.Transaction;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.draw2d.Border;
+import org.eclipse.draw2d.LineBorder;
+import org.eclipse.draw2d.PositionConstants;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartViewer;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.requests.ChangeBoundsRequest;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.diagram.core.commands.SetPropertyCommand;
+import org.eclipse.gmf.runtime.diagram.core.edithelpers.CreateElementRequestAdapter;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.diagram.ui.commands.DeferredCreateConnectionViewAndElementCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewAndElementRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewAndElementRequest.ConnectionViewAndElementDescriptor;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest.ViewAndElementDescriptor;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequestFactory;
+import org.eclipse.gmf.runtime.diagram.ui.requests.EditCommandRequestWrapper;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.core.util.PackageUtil;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+import org.eclipse.gmf.runtime.notation.Anchor;
+import org.eclipse.gmf.runtime.notation.Bendpoints;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnChangeHelper
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnChangeHelper.class);
+
+ protected static final java.util.Map<String, Boolean> options = new HashMap<String, Boolean>();
+
+ protected static final java.util.Map<Object, Object> setElementOptions = new HashMap<Object, Object>();
+ static
+ {
+ options.put(Transaction.OPTION_UNPROTECTED, Boolean.FALSE);
+ options.put(Transaction.OPTION_NO_NOTIFICATIONS, Boolean.TRUE);
+ options.put(Transaction.OPTION_NO_TRIGGERS, Boolean.TRUE);
+ }
+
+ /**
+ * genereic Method to create an EditPart by the given view
+ *
+ * @param node
+ * @param elementType
+ * @param diagramEP
+ * @return the EditPart for the newly created Node
+ */
+ public static EditPart createNode(final Node node, IElementType elementType, DiagramEditPart diagramEP)
+ {
+ CreateViewRequest createViewRequest = CreateViewRequestFactory.getCreateShapeRequest(elementType, diagramEP
+ .getDiagramPreferencesHint());
+
+ Bounds bounds = (Bounds)node.getLayoutConstraint();
+
+ Point p = new Point(bounds.getX(), bounds.getY());
+ Dimension dimension = new Dimension(bounds.getWidth(), bounds.getHeight());
+ createViewRequest.setLocation(p);
+ createViewRequest.setSize(dimension);
+
+ diagramEP.performRequest(createViewRequest);
+
+ final IAdaptable viewAdapter = (IAdaptable)((List<?>)createViewRequest.getNewObject()).get(0);
+ final EditPartViewer viewer = diagramEP.getViewer();
+ final EditPart kep = (EditPart)viewer.getEditPartRegistry().get(viewAdapter.getAdapter(View.class));
+ return kep;
+ }
+
+ public static EditPart createAttribute(final Node node, IElementType elementType, IGraphicalEditPart parentEditpart)
+ {
+
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("ElementType: {0} semanticHint {1}", elementType, ((IHintedType)elementType).getSemanticHint()); //$NON-NLS-1$
+ }
+
+ CreateElementRequest request = new CreateElementRequest(elementType);
+ CreateElementRequestAdapter createElementRequestAdapter = new CreateElementRequestAdapter(request);
+
+ ViewAndElementDescriptor viewAndElementDescriptor = new ViewAndElementDescriptor(createElementRequestAdapter,
+ Node.class, ((IHintedType)elementType).getSemanticHint(),
+
+ parentEditpart.getDiagramPreferencesHint());
+
+ CreateViewAndElementRequest createViewRequest = new CreateViewAndElementRequest(viewAndElementDescriptor);
+
+ // Command command = parentEditpart.getCommand(createViewRequest);
+
+ parentEditpart.performRequest(createViewRequest);
+
+ final IAdaptable viewAdapter = (IAdaptable)((List<?>)createViewRequest.getNewObject()).get(0);
+ final EditPartViewer viewer = parentEditpart.getViewer();
+ final EditPart kep = (EditPart)viewer.getEditPartRegistry().get(viewAdapter.getAdapter(View.class));
+ return kep;
+ }
+
+ /*********************************************************************************************************************
+ * This method creates an EditPart given by the specified ElemetType and PLaces it to the give coordinates
+ * Element-Types could be: DawnElementTypes.Klasse_1001
+ *
+ * @param p
+ * the point where the view shoudl be created
+ * @param elementType
+ * @param diagramEditor
+ * @return the created EditPart
+ ********************************************************************************************************************/
+ public static EditPart createEditPart(Point p, IElementType elementType, DiagramDocumentEditor diagramEditor)
+ {
+ DiagramEditPart diagramEP = diagramEditor.getDiagramEditPart();
+
+ CreateViewRequest createViewRequest = CreateViewRequestFactory.getCreateShapeRequest(elementType, diagramEP
+ .getDiagramPreferencesHint());
+
+ createViewRequest.setLocation(p);
+ diagramEP.performRequest(createViewRequest);
+
+ final IAdaptable viewAdapter = (IAdaptable)((List<?>)createViewRequest.getNewObject()).get(0);
+ final EditPartViewer viewer = diagramEP.getViewer();
+ return (EditPart)viewer.getEditPartRegistry().get(viewAdapter.getAdapter(View.class));
+ }
+
+ /*********************************************************************************************************************
+ * sets a property for an editpart
+ *
+ * @param editPart
+ * @param name
+ * @param object
+ * @param dawnDiagramEditor
+ ********************************************************************************************************************/
+ public static void setProperty(EditPart editPart, String name, String packageUtilPropertyID, Object object,
+ DiagramDocumentEditor dawnDiagramEditor)
+ {
+ SetPropertyCommand setPropertyCommand = new SetPropertyCommand(dawnDiagramEditor.getEditingDomain(), editPart,
+ packageUtilPropertyID, name, object);
+
+ DiagramEditPart diagramEP = dawnDiagramEditor.getDiagramEditPart();
+
+ diagramEP.getDiagramEditDomain().getDiagramCommandStack().execute(new ICommandProxy(setPropertyCommand));
+
+ }
+
+ /*********************************************************************************************************************
+ * resizes an Editpart to the given dimension
+ *
+ * @param editpart
+ * @param d
+ * dimension
+ ********************************************************************************************************************/
+ public static void resizeEditPart(EditPart editpart, Dimension d)
+ {
+ boolean editModeEnabled = ((org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart)editpart)
+ .isEditModeEnabled();
+ if (!editModeEnabled)
+ {
+ ((org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart)editpart).enableEditMode();
+ }
+
+ ChangeBoundsRequest move_req = new ChangeBoundsRequest(RequestConstants.REQ_RESIZE);
+ move_req.setResizeDirection(PositionConstants.SOUTH_EAST);
+
+ Bounds b = (Bounds)((Node)editpart.getModel()).getLayoutConstraint();
+ Dimension dimensionDelta = new Dimension(d.width - b.getWidth(), d.height - b.getHeight());
+
+ move_req.setSizeDelta(dimensionDelta);
+
+ Command cmd = editpart.getCommand(move_req);
+ if (cmd == null || !cmd.canExecute())
+ {
+ throw new IllegalArgumentException("Command is not executable.");
+ }
+ ((DiagramEditPart)editpart.getParent()).getDiagramEditDomain().getDiagramCommandStack().execute(cmd);
+
+ if (editModeEnabled)
+ {
+ ((org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart)editpart).enableEditMode();
+ }
+ else
+ {
+ ((org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart)editpart).disableEditMode();
+ }
+ }
+
+ /*********************************************************************************************************************
+ * moves an EdidPart to the given postione
+ *
+ * @param editpart
+ * @param p
+ ********************************************************************************************************************/
+ public static void moveEditPart(EditPart editpart, Point p)
+ {
+ ChangeBoundsRequest move_req = new ChangeBoundsRequest(RequestConstants.REQ_MOVE);
+
+ Bounds b = (Bounds)((Node)editpart.getModel()).getLayoutConstraint();
+ Point newPoint = new Point(p.x - b.getX(), p.y - b.getY());
+ move_req.setMoveDelta(newPoint);
+
+ Command cmd = editpart.getCommand(move_req);
+ if (cmd == null || !cmd.canExecute())
+ {
+ throw new IllegalArgumentException("Command is not executable.");
+ }
+ ((DiagramEditPart)editpart.getParent()).getDiagramEditDomain().getDiagramCommandStack().execute(cmd);
+ }
+
+ /**
+ * Moves the Editpart from the current position to the new Vector
+ */
+ public static void moveEditPartTo(EditPart editpart, Point p)
+ {
+ ChangeBoundsRequest move_req = new ChangeBoundsRequest(RequestConstants.REQ_MOVE);
+ move_req.setMoveDelta(p);
+ Command cmd = editpart.getCommand(move_req);
+ if (cmd == null || !cmd.canExecute())
+ {
+ throw new IllegalArgumentException("Command is not executable.");
+ }
+ ((DiagramEditPart)editpart.getParent()).getDiagramEditDomain().getDiagramCommandStack().execute(cmd);
+ }
+
+ /**
+ * deletes the EditPart an the concerning model element
+ *
+ * @param editPart
+ * @param editor
+ */
+ public static void deleteEditPart(final EditPart editPart, DiagramDocumentEditor editor)
+ {
+ final View view = (View)editPart.getModel();
+
+ EObject eObject = view.getElement();
+ if (eObject != null)
+ {
+ DestroyElementRequest destroy = new DestroyElementRequest(editor.getEditingDomain(), eObject, false);
+
+ Request req = new EditCommandRequestWrapper(destroy);
+
+ Command command = editPart.getCommand(req);
+ editor.getDiagramEditDomain().getDiagramCommandStack().execute(command);
+ }
+ TransactionalEditingDomain domain = editor.getEditingDomain();
+ if (view instanceof Edge) // also update the lists of the other client
+ {
+ domain.getCommandStack().execute(new RecordingCommand(domain)
+ {
+ @Override
+ public void doExecute()
+ {
+ Edge e = (Edge)view;
+ View source = e.getSource();
+ View target = e.getTarget();
+ if (source != null && target != null)
+ {
+ EObject targetElement = target.getElement();
+ EObject sourceElement = source.getElement();
+
+ EStructuralFeature containingFeature = sourceElement.eContainingFeature();
+ Collection<?> sourceCrossreferenceCollection = (Collection<?>)sourceElement.eGet(containingFeature);
+ sourceCrossreferenceCollection.remove(targetElement);
+ }
+ }
+ });
+ }
+ ViewUtil.destroy(view);
+ }
+
+ /*********************************************************************************************************************
+ * Deletes a view and it's contained element
+ *
+ * @param view
+ * @param editor
+ ********************************************************************************************************************/
+ public static void deleteView(final View view, DiagramDocumentEditor editor)
+ {
+
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Deleting view {0} ", view); //$NON-NLS-1$
+ }
+
+ EObject eObject = view.getElement();
+ if (eObject != null)
+ {
+ DestroyElementRequest destroy = new DestroyElementRequest(editor.getEditingDomain(), eObject, false);
+
+ Request req = new EditCommandRequestWrapper(destroy);
+
+ EditPart findEditPart = DawnDiagramUpdater.findEditPart(view, editor.getDiagramEditPart().getViewer());
+ Command command = findEditPart.getCommand(req);
+ editor.getDiagramEditDomain().getDiagramCommandStack().execute(command);
+ }
+ if (view instanceof Edge) // also update the lists of the other client
+ {
+ destroyEdge((Edge)view, editor);
+ }
+ ViewUtil.destroy(view);
+ }
+
+ public static void destroyEdge(Edge edge, DiagramDocumentEditor editor)
+ {
+ EObject referenceObject = ViewUtil.resolveSemanticElement(edge.getTarget());
+ EObject container = ViewUtil.resolveSemanticElement(edge.getSource());
+ EditPart parentEditpart = DawnDiagramUpdater.findEditPart(edge, editor.getDiagramEditPart().getViewer());
+ DestroyReferenceRequest destroyReferenceRequest = new DestroyReferenceRequest(editor.getEditingDomain(), container,
+ null, referenceObject, false);
+ Request req = new EditCommandRequestWrapper(destroyReferenceRequest);
+
+ Command command = parentEditpart.getCommand(req);
+ editor.getDiagramEditDomain().getDiagramCommandStack().execute(command);
+ }
+
+ /*********************************************************************************************************************
+ * creates an edge for a given elementType
+ *
+ * @param oldEdge
+ * @param sourceEditPart
+ * @param targetEditPart
+ * @param elementType
+ * @param root
+ * @return the newly created EditPart
+ ********************************************************************************************************************/
+ public static EditPart createEdge(Edge oldEdge, EditPart sourceEditPart, EditPart targetEditPart,
+ IElementType elementType, final DiagramEditPart root)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Creaeting Edge from old edge {0} ", oldEdge); //$NON-NLS-1$
+ }
+
+ CreateConnectionViewAndElementRequest req = new CreateConnectionViewAndElementRequest(elementType,
+ ((IHintedType)elementType).getSemanticHint(), root.getDiagramPreferencesHint());
+
+ ICommand createConnectionCmd = new DeferredCreateConnectionViewAndElementCommand(req, new EObjectAdapter(
+ (EObject)sourceEditPart.getModel()), new EObjectAdapter((EObject)targetEditPart.getModel()), root.getViewer());
+
+ root.getDiagramEditDomain().getDiagramCommandStack().execute(new ICommandProxy(createConnectionCmd));
+
+ final EditPartViewer viewer = root.getViewer();
+
+ final EditPart ret = (EditPart)viewer.getEditPartRegistry().get(
+ ((ConnectionViewAndElementDescriptor)req.getNewObject()).getAdapter(View.class));
+
+ if (ret != null)
+ {
+ setAnchorsAndBendPoints(ret, oldEdge, root);
+ }
+ return ret;
+ }
+
+ /*********************************************************************************************************************
+ * This Method sets the Anchors and Bendpoint from an old Edge to the edge of the given EditPart
+ *
+ * @param edgeEditpart
+ * @param oldEdge
+ * @param root
+ ********************************************************************************************************************/
+ public static void setAnchorsAndBendPoints(final EditPart edgeEditpart, final Edge oldEdge, final DiagramEditPart root)
+ {
+ TransactionalEditingDomain domain = root.getEditingDomain();// getEditingDomain();
+ domain.getCommandStack().execute(new RecordingCommand(domain)
+ {
+ @Override
+ public void doExecute()
+ {
+ Edge edge = (Edge)edgeEditpart.getModel();
+
+ edge.setBendpoints((Bendpoints)ResourceHelper.createCopy(oldEdge.getBendpoints()));
+ if (oldEdge.getSourceAnchor() != null)
+ {
+ edge.setSourceAnchor((Anchor)ResourceHelper.createCopy(oldEdge.getSourceAnchor()));
+ }
+ if (oldEdge.getTargetAnchor() != null)
+ {
+ edge.setTargetAnchor((Anchor)ResourceHelper.createCopy(oldEdge.getTargetAnchor()));
+ }
+
+ edgeEditpart.refresh();
+ root.refresh();
+ }
+ });
+ }
+
+ /**
+ * returns the border color from a given EditPart
+ *
+ * @param editPart
+ * @return the border color of the EditPart
+ */
+ public static Color getBorderColor(EditPart editPart)
+ {
+ GraphicalEditPart e = (GraphicalEditPart)editPart;
+
+ Border border = e.getFigure().getBorder();
+
+ if (border instanceof org.eclipse.draw2d.MarginBorder)
+ {
+ // MarginBorder b = ((MarginBorder) e.getFigure().getBorder());
+ // if (border != null)
+ // {
+ // return b.getColor();
+ // }
+ return null;
+ }
+ else if (border instanceof LineBorder)
+ {
+ LineBorder b = (LineBorder)e.getFigure().getBorder();
+
+ return b.getColor();
+ }
+
+ return null;
+ }
+
+ /**
+ * activates a given EditPart
+ *
+ * @param e
+ */
+ public static void activateEditPart(final EditPart e)
+ {
+ Display.getDefault().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ e.activate();
+ org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart g = (org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart)e;
+ g.getFigure().setEnabled(true);
+ }
+ });
+
+ }
+
+ /**
+ * activates the diagram EditPart
+ *
+ * @param diagramEditPart
+ */
+ public static void activateDiagramEditPart(DiagramEditPart diagramEditPart)
+ {
+ DawnChangeHelper.activateEditPart(diagramEditPart);
+
+ for (Object e : diagramEditPart.getChildren())
+ {
+ DawnChangeHelper.activateEditPart((EditPart)e);
+ }
+ }
+
+ /**
+ * deactivates the given EditPart
+ *
+ * @param e
+ */
+ public static void deactivateEditPart(final EditPart e)
+ {
+ Display.getDefault().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ e.deactivate();
+ e.getViewer().deselect(e);
+
+ org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart g = (org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart)e;
+ g.getFigure().setEnabled(false);
+ }
+ });
+ }
+
+ /**
+ * deactivates the DiagramEditPart
+ *
+ * @param diagramEditPart
+ */
+ public static void deactivateDiagramEditPart(DiagramEditPart diagramEditPart)
+ {
+ DawnChangeHelper.deactivateEditPart(diagramEditPart);
+
+ for (Object e : diagramEditPart.getChildren())
+ {
+ DawnChangeHelper.deactivateEditPart((EditPart)e);
+ }
+
+ }
+
+ /**
+ * Deselects the given EditPart EditPart
+ */
+ public static void deselect(final EditPart e)
+ {
+ Display.getDefault().asyncExec(new Runnable()
+ {
+
+ public void run()
+ {
+ e.getViewer().deselect(e);
+ }
+ });
+ }
+
+ /**
+ * selects the given EditPart
+ *
+ * @param e
+ */
+ public static void select(final EditPart e)
+ {
+ Display.getDefault().asyncExec(new Runnable()
+ {
+
+ public void run()
+ {
+ e.getViewer().select(e);
+ }
+ });
+ }
+
+ /*********************************************************************************************************************
+ * sets a property for an editpart
+ *
+ * @param editPart
+ * @param name
+ * @param object
+ * @param dawnDiagramEditor
+ ********************************************************************************************************************/
+ public static void setProperty(EditPart editPart, String name, EAttribute attribute, Object object,
+ DiagramDocumentEditor dawnDiagramEditor)
+ {
+ SetPropertyCommand setPropertyCommand = new SetPropertyCommand(dawnDiagramEditor.getEditingDomain(), editPart,
+ PackageUtil.getID(attribute), name, object);
+ DiagramEditPart diagramEP = dawnDiagramEditor.getDiagramEditPart();
+
+ diagramEP.getDiagramEditDomain().getDiagramCommandStack().execute(new ICommandProxy(setPropertyCommand));
+ }
+
+ /*********************************************************************************************************************
+ * updates the model
+ *
+ * @param editPart
+ * @param model
+ * @param editor
+ ********************************************************************************************************************/
+ public static void updateModel(final EditPart editPart, final EObject model, DiagramDocumentEditor editor)
+ {
+ editPart.getViewer().getEditDomain();
+ View view = (View)editPart.getModel();
+ final EObject element = view.getElement();
+
+ if (element.eClass().getName().equals("AnOperation")) // ugliest of all workarounds. Just for the prototype
+ {
+ editor.getEditingDomain().getCommandStack().execute(new RecordingCommand(editor.getEditingDomain())
+ {
+ @Override
+ public void doExecute()
+ {
+ try
+ {
+ ResourceHelper.updateEObject(element, model);
+ }
+ catch (EClassIncompatibleException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+ else
+ {
+ for (EAttribute attribute : element.eClass().getEAllAttributes())
+ {
+ setProperty(editPart, attribute.getName(), attribute, model.eGet(attribute), editor);
+ }
+ }
+ }
+
+ public static void deleteAttribute(View view, DiagramDocumentEditor editor)
+ {
+ deleteView(view, editor);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/DawnConflictHelper.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/DawnConflictHelper.java
new file mode 100644
index 0000000000..732929c6bb
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/DawnConflictHelper.java
@@ -0,0 +1,107 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.synchronize;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.CDOState;
+import org.eclipse.emf.cdo.dawn.appearance.DawnAppearancer;
+import org.eclipse.emf.cdo.dawn.diagram.part.IDawnDiagramEditor;
+import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CDOUtil;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnConflictHelper
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnConflictHelper.class);
+
+ public static boolean handleConflictedView(CDOObject cdoObject, View view, DiagramDocumentEditor editor)
+ {
+ boolean cdoConflict = cdoObject.cdoConflict();
+ if (cdoConflict && view != null)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Object ({0}) is in state conflict!", cdoObject); //$NON-NLS-1$
+ }
+ EditPart editPart = DawnDiagramUpdater.createOrFindEditPartIfViewExists(view, editor);
+ int typeConflictLocallyDeleted = evaluateConflictType(cdoObject);
+ DawnAppearancer.setEdiPartConflicted(editPart, typeConflictLocallyDeleted);
+ }
+ return cdoConflict;
+ }
+
+ private static int evaluateConflictType(CDOObject cdoObject)
+ {
+ if (cdoObject.cdoState() == CDOState.DIRTY)
+ {
+ return DawnAppearancer.TYPE_CONFLICT_REMOTELY_AND_LOCALLY_CHANGED;
+ }
+ return DawnAppearancer.TYPE_CONFLICT_REMOTELY_DELETED;
+ }
+
+ public static void rollback(final DiagramDocumentEditor editor)
+ {
+ CDOView view = ((IDawnDiagramEditor)editor).getView();
+
+ if (view != null && view instanceof CDOTransaction)
+ {
+ ((CDOTransaction)view).rollback();
+ }
+
+ editor.getEditingDomain().getCommandStack().execute(new RecordingCommand(editor.getEditingDomain())
+ {
+ @Override
+ public void doExecute()
+ {
+ DawnAppearancer.setEditPartDefaultAllChildren(editor.getDiagramEditPart());
+ DawnDiagramUpdater.refreshEditPart(editor.getDiagramEditPart());
+ }
+ });
+ }
+
+ /**
+ * TODO this method should decide whether the object is conflicted or not using special Policies
+ *
+ * @param object
+ * @return whether the object is conflicted
+ */
+ public static boolean isConflicted(EObject object)
+ {
+ CDOObject cdoObject = CDOUtil.getCDOObject(object);
+ if (cdoObject.cdoConflict())
+ {
+ return true;
+ }
+ if (object instanceof View)
+ {
+ CDOObject element = CDOUtil.getCDOObject(((View)object).getElement());
+ if (element.cdoConflict())
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/ResourceHelper.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/ResourceHelper.java
new file mode 100644
index 0000000000..de9d73adc4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/synchronize/ResourceHelper.java
@@ -0,0 +1,1040 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.synchronize;
+
+/**
+ *
+ * @author Martin Fluegge
+ */
+import org.eclipse.emf.cdo.dawn.exceptions.EClassIncompatibleException;
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EGenericType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.emf.ecore.xmi.XMLHelper;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.XMIHelperImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMILoadImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMISaveImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+public class ResourceHelper
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, ResourceHelper.class);
+
+ public static String getXmiId(EObject eObject)
+ {
+ Resource xmiResource = eObject.eResource();
+ if (xmiResource == null)
+ {
+ return null;
+ }
+
+ return ((XMLResource)xmiResource).getID(eObject);
+ }
+
+ public static String getXmiId(EObject eObject, Resource xmiResource)
+ {
+
+ if (xmiResource == null)
+ {
+ return null;
+ }
+
+ return ((XMLResource)xmiResource).getID(eObject);
+ }
+
+ public static void setXmiId(EObject eObject, String id)
+ {
+ Resource xmiResource = eObject.eResource();
+ if (xmiResource != null)
+ {
+ ((XMLResource)xmiResource).setID(eObject, id);
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.trace("Could set xmi id, because object is not attached to a resource!"); //$NON-NLS-1$
+ }
+ }
+ }
+
+ // public static String resourceToString(Resource res)
+ // {
+ //
+ // StringBuffer s = new StringBuffer();
+ // Diagram dia = null;
+ // for (Object o : res.getContents())
+ // {
+ // LOG.info(o);
+ // if (o instanceof Diagram)
+ // {
+ // dia = (Diagram)o;
+ // break;
+ // }
+ // }
+ //
+ // LOG.info("-----------------------------------------------------");
+ //
+ // LOG.info("Diagram" + dia + "");
+ // if (dia != null)
+ // {
+ // try
+ // {
+ // for (Object o : dia.getChildren())
+ // {
+ // Node n = (Node)o;
+ // EObject element = n.getElement();
+ //
+ // LOG.info(o + " (" + ResourceHelper.getXmiId((EObject)o) + ")");
+ //
+ // for (EAttribute attribute : element.eClass().getEAllAttributes())
+ // {
+ // LOG.info("\t" + attribute.getName() + ": " + element.eGet(attribute));
+ // }
+ //
+ // LOG.info("- LayoutContraint: " + n.getLayoutConstraint() + "");
+ // }
+ //
+ // EObject semanticConainer = dia.getElement();
+ // LOG.info("SemanticConatiner" + semanticConainer + "");
+ //
+ // for (EObject k : semanticConainer.eContents())
+ // {
+ // LOG.info("Semantic Container Element: " + k + " (" + ResourceHelper.getXmiId(k) + ")" + "");
+ // }
+ // }
+ // catch (Exception e)
+ // {
+ // e.printStackTrace();
+ // }
+ //
+ // }
+ // LOG.info("-----------------------------------------------------");
+ // return s.toString();
+ // }
+
+ public static Resource loadFromFile(String file, ResourceSet rsSet)
+ {
+ URI uri = URI.createURI("file:/" + file);
+
+ Resource res = rsSet.getResource(uri, true);
+ return res;
+ }
+
+ public static void writeToFile(String path, String xml) throws IOException
+ {
+ File file = new File(path);
+ FileWriter writer = new FileWriter(file);
+ writer.write(xml);
+ writer.close();
+ }
+
+ public static String saveToXML(XMLResource resource) throws IOException
+ {
+
+ resource.setXMLVersion("1.0");
+
+ Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+ // options.put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ // options.put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+ // options.put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ saveOptions.putAll(resource.getDefaultSaveOptions());
+ saveOptions.put(XMIResource.OPTION_DECLARE_XML, Boolean.TRUE);
+ saveOptions.put(XMIResource.OPTION_PROCESS_DANGLING_HREF, XMIResource.OPTION_PROCESS_DANGLING_HREF_DISCARD);
+ saveOptions.put(XMIResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+ saveOptions.put(XMIResource.OPTION_USE_XMI_TYPE, Boolean.TRUE);
+ saveOptions.put(XMIResource.OPTION_SAVE_TYPE_INFORMATION, Boolean.TRUE);
+ saveOptions.put(XMIResource.OPTION_SKIP_ESCAPE_URI, Boolean.FALSE);
+ saveOptions.put(XMIResource.OPTION_ENCODING, "UTF-8");
+
+ final XMLHelper xmlHelper = new XMIHelperImpl(resource);
+
+ XMISaveImpl x = new XMISaveImpl(xmlHelper);
+
+ StringWriter sw = new StringWriter();
+ x.save(resource, sw, saveOptions);
+ return sw.toString();
+ }
+
+ public static Resource loadFromXML(String xml, ResourceSet rsSet) throws IOException
+ {
+ final Resource res;
+
+ res = new XMIResourceImpl();
+ final XMLHelper xmlHelper = new XMLHelperImpl();
+ ByteArrayInputStream stringreader = new ByteArrayInputStream(xml.getBytes());
+ XMILoadImpl xmiload = new XMILoadImpl(xmlHelper);
+ xmiload.load((XMLResource)res, stringreader, Collections.EMPTY_MAP);
+
+ /* setdummy URI */
+ if (res.getURI() == null)
+ {
+ res.setURI(URI.createURI(""));
+ }
+ return res;
+ }
+
+ /**
+ * returns the diagram from the resource if no diagram can be found it returns null.
+ *
+ * @param res
+ * @return if it exists the diagram otherwise null
+ */
+ public static Diagram getDiagramFromResource(Resource res)
+ {
+ for (Object o : res.getContents())
+ {
+ if (o instanceof Diagram)
+ {
+ return (Diagram)o;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * compares two eObjects by there xmi-id whether the are equal or not
+ *
+ * @param oldNode
+ * @param newNode
+ * @return true if xmi-id equal, else otherwise
+ */
+ public static boolean areSameObjects(EObject oldNode, EObject newNode)
+ {
+ String newXMI = getXmiId(newNode);
+ String oldXMI = getXmiId(oldNode);
+
+ if (newXMI.equals(oldXMI))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * returns the same Object in the other resource. The Object is identified by the xmi ID
+ *
+ * @param e
+ * @param resource
+ * @return an object in the given resource with the same xmi Id
+ */
+ public static EObject getSameEObjectFromOtherResource(EObject e, XMLResource resource)
+ {
+ String xmiId = ResourceHelper.getXmiId(e);
+ // EObject ret = resource.getIDToEObjectMap().get(xmiId);
+ EObject ret = resource.getEObject(xmiId);
+ return ret;
+ }
+
+ /**
+ * finds changed objects
+ *
+ * @param serverO
+ * @param clientO
+ * @return true if the obejcts are different
+ */
+ public static boolean objectsHaveChanged(Object serverO, Object clientO)
+ {
+ if (serverO instanceof Node && clientO instanceof Node)
+ {
+ Node s = (Node)serverO;
+ Node c = (Node)clientO;
+
+ if (objectsHaveChanged(s.getLayoutConstraint(), c.getLayoutConstraint()))
+ {
+ return true;
+ }
+ if (objectsHaveChanged(s.getElement(), c.getElement()))
+ {
+ return true;
+ }
+
+ }
+ else if (serverO instanceof Edge && clientO instanceof Edge) // compare edges
+ {
+ Edge s = (Edge)serverO;
+ Edge c = (Edge)clientO;
+ RelativeBendpoints sr = (RelativeBendpoints)s.getBendpoints();
+ RelativeBendpoints cr = (RelativeBendpoints)c.getBendpoints();
+ if (sr.getPoints().size() != cr.getPoints().size())
+ {
+ return true;
+ }
+ int i = 0;
+ for (Object o : sr.getPoints())
+ {
+ RelativeBendpoint sb = (RelativeBendpoint)o;
+ RelativeBendpoint cb = (RelativeBendpoint)cr.getPoints().get(i);
+ if (objectsHaveChanged(sb, cb))
+ {
+ return true;
+ }
+ i++;
+ }
+ }
+ else if (serverO instanceof RelativeBendpoint && clientO instanceof RelativeBendpoint)
+ {
+ RelativeBendpoint sb = (RelativeBendpoint)serverO;
+ RelativeBendpoint cb = (RelativeBendpoint)clientO;
+ if (sb.getSourceX() != cb.getSourceX())
+ {
+ return true;
+ }
+ if (sb.getSourceY() != cb.getSourceY())
+ {
+ return true;
+ }
+ if (sb.getTargetX() != cb.getTargetX())
+ {
+ return true;
+ }
+ if (sb.getTargetY() != cb.getTargetY())
+ {
+ return true;
+ }
+ }
+ else if (serverO instanceof Bounds && clientO instanceof Bounds)
+ {
+ if (((Bounds)serverO).getX() != ((Bounds)clientO).getX())
+ {
+ return true;
+ }
+ if (((Bounds)serverO).getY() != ((Bounds)clientO).getY())
+ {
+ return true;
+ }
+ if (((Bounds)serverO).getWidth() != ((Bounds)clientO).getWidth())
+ {
+ return true;
+ }
+ if (((Bounds)serverO).getHeight() != ((Bounds)clientO).getHeight())
+ {
+ return true;
+ }
+ }
+ else if (serverO instanceof EObject && clientO instanceof EObject)
+ {
+ EObject s = (EObject)serverO;
+ EObject c = (EObject)clientO;
+
+ for (EAttribute attribute : s.eClass().getEAllAttributes())
+ {
+ Object co = c.eGet(attribute);
+ Object so = s.eGet(attribute);
+ if (co == null || so == null)
+ {
+ return false;
+ }
+ if (!co.equals(so))
+ {
+ return true;
+ }
+ }
+
+ // checking size of chidlren
+ if (s.eContents().size() != c.eContents().size())
+ {
+ return true;
+ }
+ int i = 0;
+ // chekcing every child
+ for (EObject sChild : s.eContents())
+ {
+ EObject cChild = c.eContents().get(i);
+ if (objectsHaveChanged(sChild, cChild))
+ {
+ return true;
+ }
+ i++;
+ }
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("classes are not identical...no match {0} / {1}", serverO, clientO); //$NON-NLS-1$
+ }
+ }
+ return false;
+ }
+
+ public static Resource loadResourceFromFileString(String filePath, ResourceSet rsSet) throws IOException
+ {
+ try
+ {
+ File file = new File(filePath);
+ FileReader reader = new FileReader(file);
+ BufferedReader Ein = new BufferedReader(reader);
+ String s;
+ StringBuffer buff = new StringBuffer();
+ while ((s = Ein.readLine()) != null) // Null-Referenz
+ {
+ buff.append(s + System.getProperty("line.separator"));
+ }
+ Ein.close();
+ Resource resource = ResourceHelper.loadFromXML(buff.toString(), rsSet);
+ return resource;
+ }
+ catch (FileNotFoundException e)
+ {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static String readFromFile(String filePath) throws IOException
+ {
+ try
+ {
+ File file = new File(filePath);
+ FileReader reader = new FileReader(file);
+ BufferedReader Ein = new BufferedReader(reader);
+ String s;
+ StringBuffer buff = new StringBuffer();
+ while ((s = Ein.readLine()) != null) // Null-Referenz
+ {
+ buff.append(s + System.getProperty("line.separator"));
+ }
+ Ein.close();
+ return buff.toString();
+
+ }
+ catch (FileNotFoundException e)
+ {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * copies the XMI-id from oldElement to new Element
+ *
+ * @param newElement
+ * @param oldElement
+ */
+ public static void copyXmiId(EObject oldElement, EObject newElement)
+ {
+ ResourceHelper.setXmiId(newElement, ResourceHelper.getXmiId(oldElement));
+ }
+
+ /**
+ * sets the objects id in the old resource to the new resource
+ *
+ * @param v
+ * @param oldResource
+ */
+ public static void setXmiId(EObject v, XMLResource oldResource)
+ {
+ ResourceHelper.setXmiId(v, getXmiId(v, oldResource));
+ }
+
+ /**
+ * creates a deep Copy and also copies xmi ids This method can be used if the copy should be insertet into newParent
+ *
+ * @param oldObject
+ * @param newParent
+ * @return the copy of the oldObject
+ */
+ @SuppressWarnings("unchecked")
+ public static EObject createCopyAndInsert(EObject oldObject, EObject newParent)
+ {
+ EObject ret = EcoreUtil.copy(oldObject);
+
+ EStructuralFeature containingFeature = oldObject.eContainingFeature();
+
+ Object get = newParent.eGet(containingFeature);
+ if (get instanceof Collection<?>)
+ {
+ Collection<EObject> list = (Collection<EObject>)get;
+ list.add(ret);
+ }
+ else
+ {
+ newParent.eSet(containingFeature, ret);
+ }
+
+ setXmiIdForChildren(oldObject, ret);
+
+ return ret;
+ }
+
+ public static EObject createCopy(EObject v)
+ {
+ EObject ret = EcoreUtil.copy(v);
+ return ret;
+ }
+
+ private static int setXmiIdForChildren(EObject oldChild, EObject newChild)
+ {
+ ResourceHelper.setXmiId(newChild, ResourceHelper.getXmiId(oldChild));
+ int i = 0;
+ for (EObject oldC : oldChild.eContents())
+ {
+ EObject newC = newChild.eContents().get(i);
+ setXmiIdForChildren(oldC, newC);
+ i++;
+ }
+ return i;
+ }
+
+ /**
+ * This method provides deep copying of all childrens xmi ids from oldObject to newObject
+ *
+ * @param oldObject
+ * @param newObject
+ */
+ public static void copyXmiIds(EObject oldObject, EObject newObject)
+ {
+ setXmiIdForChildren(oldObject, newObject);
+ }
+
+ /**
+ * this Method copies the values from one Element to the other curretnly only for attributes and not for references
+ */
+ @Deprecated
+ public static void updateElement(EObject oldElement, EObject newElement)
+ {
+ if (oldElement == null)
+ {
+ newElement = oldElement;
+ return;
+ }
+
+ for (EAttribute attribute : oldElement.eClass().getEAllAttributes())
+ {
+ newElement.eSet(attribute, oldElement.eGet(attribute));
+ }
+ }
+
+ /**
+ * @param leftObject
+ * @param rightObject
+ * @throws EClassIncompatibleException
+ */
+ // TODO delte removed references
+ public static void updateEObject(EObject leftObject, EObject rightObject) throws EClassIncompatibleException
+ {
+ if (rightObject == null) // remove left Object
+ {
+ removeEObjectFromParent(leftObject);
+ return;
+ }
+
+ if (!leftObject.eClass().equals(rightObject.eClass()))
+ {
+ throw new EClassIncompatibleException(leftObject.eClass().getName() + "(" + ResourceHelper.getXmiId(leftObject)
+ + ")" + "/" + rightObject.eClass().getName() + "(" + ResourceHelper.getXmiId(leftObject) + ")");
+ }
+
+ updateEAttributes(leftObject, rightObject);
+ updateEReferences(leftObject, rightObject);
+
+ for (Object o : rightObject.eContents())
+ {
+ EObject rightChild = (EObject)o;
+ EObject leftChild = getSameEObjectFromOtherResource(rightChild, (XMLResource)leftObject.eResource());
+ if (leftChild != null)// child exists
+ {
+ updateEObject(leftChild, rightChild); // removes it
+ }
+ else
+ // child must be created
+ {
+ if (o instanceof View)
+ {
+ View childView = (View)o;
+ EObject childViewElement = childView.getElement();
+ View childViewCopy = (View)createCopyAndInsert(rightChild, leftObject);
+ if (childViewElement != null)
+ {
+ EObject childElementCopy = getSameEObjectFromOtherResource(childViewElement, (XMLResource)leftObject
+ .eResource());
+
+ updateEObject(childElementCopy, childViewElement);// not shure whether this is needed here
+ childViewCopy.setElement(childElementCopy);
+ }
+
+ updateEObject(childViewCopy, childView);// not shure whether this is needed here
+ }
+ else
+ {
+ EObject childCopy = createCopyAndInsert(rightChild, leftObject);
+ updateEObject(childCopy, rightChild); // not shure whether this is needed here
+ }
+ }
+ }
+
+ ArrayList<EObject> tempDeletionList = new ArrayList<EObject>();
+
+ for (Object leftChild : leftObject.eContents())
+ {
+ tempDeletionList.add((EObject)leftChild);
+ }
+
+ // here delete all which are not in the right object
+ for (EObject leftChild : tempDeletionList)
+ {
+ EObject rightChild = getSameEObjectFromOtherResource(leftChild, (XMLResource)rightObject.eResource());
+ updateEObject(leftChild, rightChild);
+ }
+ }
+
+ private static void removeEObjectFromParent(EObject leftObject)
+ {
+ if (leftObject instanceof View)
+ {
+ View view = (View)leftObject;
+ if (view.getElement() != null)
+ {
+ removeEObjectFromParent(view.getElement());
+ }
+ }
+
+ EObject parent = leftObject.eContainer();
+ EStructuralFeature containingFeature = leftObject.eContainingFeature();
+ if (parent != null)
+ {
+ Object container = parent.eGet(containingFeature);
+
+ if (container instanceof Collection<?>)
+ {
+ Collection<?> collection = (Collection<?>)container;
+ collection.remove(leftObject);
+ }
+ else
+ {
+ parent.eSet(containingFeature, null);
+ }
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("arent is null, object ist still removed from parent : {0} ", leftObject); //$NON-NLS-1$
+ }
+ }
+ }
+
+ private static void updateEReferences(EObject leftObject, EObject rightObject) throws EClassIncompatibleException
+ {
+ for (EReference reference : rightObject.eClass().getEReferences())
+ {
+ updateReference(leftObject, rightObject, reference);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ public static void updateReference(EObject leftParent, EObject rightParent, EReference reference)
+ throws EClassIncompatibleException
+ {
+
+ if (reference.getName().equals("element"))
+ {
+ return;
+ }
+ Object leftReferenceObject = leftParent.eGet(reference);
+ Object rightReferenceObject = rightParent.eGet(reference);
+
+ if (leftReferenceObject != null)
+ {
+
+ if (leftReferenceObject instanceof Collection<?>)
+ {
+ Collection<EObject> leftCollection = (Collection<EObject>)leftReferenceObject;
+ Collection<?> rightCollection = (Collection<?>)rightReferenceObject;
+ for (Object o : rightCollection)
+ {
+ EObject rightCollectionChild = (EObject)o;
+ EObject leftCollectionChild = getSameEObjectFromOtherResource(rightCollectionChild, (XMLResource)leftParent
+ .eResource());
+
+ if (leftCollectionChild == null)// create
+ {
+ leftCollectionChild = ResourceHelper.createCopy(rightCollectionChild);
+ leftCollection.add(leftCollectionChild);
+ }
+ else
+ {
+ if (!rightCollectionChild.eResource().equals(leftParent.eResource())) // reference to another resource
+ {
+ leftCollection.remove(rightCollectionChild);
+ leftCollection.add(leftCollectionChild);
+ }
+
+ updateEObject(leftCollectionChild, rightCollectionChild);
+ }
+ }
+ }
+ else
+ {
+ updateEObject((EObject)leftParent.eGet(reference), (EObject)rightParent.eGet(reference));
+ }
+ }
+ else
+ // create
+ {
+ if (rightReferenceObject != null)
+ {
+ leftParent.eSet(reference, EcoreUtil.copy((EObject)rightReferenceObject));
+ }
+ }
+ }
+
+ private static void updateEAttributes(EObject leftObject, EObject rightObject)
+ {
+ for (EAttribute attribute : rightObject.eClass().getEAllAttributes())
+ {
+ leftObject.eSet(attribute, rightObject.eGet(attribute));
+ }
+ }
+
+ public static void deleteViewInResource(XMLResource projectResource, EObject e)
+ {
+ Diagram diagram = ResourceHelper.getDiagramFromResource(projectResource);
+ EObject element = ((View)e).getElement();
+
+ if (element != null)
+ {
+ removeElementFromContainer(element);
+ }
+
+ if (e instanceof Node)
+ {
+ diagram.removeChild((View)e);// ..getChildren().add(v);
+ }
+ else if (e instanceof Edge)
+ {
+ diagram.removeEdge((Edge)e);// ..getChildren().add(v);
+ }
+ }
+
+ private static void removeElementFromContainer(EObject element)
+ {
+ EStructuralFeature containingFeature = element.eContainingFeature();
+ EObject container = element.eContainer();
+ Object get = container.eGet(containingFeature);
+ if (get instanceof Collection<?>)
+ {
+ Collection<?> list = (Collection<?>)get;
+ list.remove(element);
+ }
+ else
+ {
+ container.eSet(containingFeature, null);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ public static void addElementToContainer(EObject element, EObject container, EStructuralFeature containingFeature)
+ {
+ // EStructuralFeature containingFeature = element.eContainingFeature();
+ Object get = container.eGet(containingFeature);
+ if (get instanceof Collection<?>)
+ {
+ Collection<EObject> list = (Collection<EObject>)get;
+ list.add(element);
+ }
+ else
+ {
+ container.eSet(containingFeature, element);
+ }
+ }
+
+ /**
+ * checks if an element with element's id exists in the give resource
+ *
+ * @param res
+ * @param element
+ * @return true is the object with the same xmi id as element is contained in the given resource
+ */
+ public static boolean isObjectInResource(Resource res, EObject element)
+ {
+ EObject object = res.getEObject(ResourceHelper.getXmiId(element));
+ if (object == null)
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ public static void printResource(Resource r)
+ {
+ for (EObject o : r.getContents())
+ {
+ printEObjectFull(o, 0);
+ }
+ }
+
+ public static void printResourceSysout(Resource r)
+ {
+ for (EObject o : r.getContents())
+ {
+ printEObjectFullSysout(o, 0);
+ }
+ }
+
+ public static void printEObject(EObject o, int level)
+ {
+ for (Object child : o.eContents())
+ {
+ printEObject((EObject)child, level + 1);
+ }
+ }
+
+ public static void printEObjectFull(EObject o, int level)
+ {
+ System.out.println(tabs(level) + "--------------------------------------------");
+ System.out.println(tabs(level) + "Object: " + o);
+ System.out.println(tabs(level) + "o.eContainer: " + o.eContainer());
+ System.out.println(tabs(level) + "o.eContainingFeature: " + o.eContainingFeature());
+ System.out.println(tabs(level) + "o.eContainmentFeature: " + o.eContainmentFeature());
+ System.out.println(tabs(level) + "o.eIsProxy: " + o.eIsProxy());
+ System.out.println(tabs(level) + "o.eResource: " + o.eResource());
+ System.out.println(tabs(level) + "o.getClass: " + o.getClass());
+ System.out.println(tabs(level) + "o.eClass: " + o.eClass());
+ System.out.println(tabs(level) + "o.eCrossReferences: " + o.eCrossReferences());
+
+ System.out.println(tabs(level) + "o.eClass.getClassifierID: " + o.eClass().getClassifierID());
+ System.out.println(tabs(level) + "o.eClass.getFeatureCount: " + o.eClass().getFeatureCount());
+ System.out.println(tabs(level) + "o.eClass.getInstanceClassName: " + o.eClass().getInstanceClassName());
+ System.out.println(tabs(level) + "o.eClass.getInstanceTypeName: " + o.eClass().getInstanceTypeName());
+ System.out.println(tabs(level) + "o.eClass.getName: " + o.eClass().getName());
+ System.out.println(tabs(level) + "o.eClass.getDefaultValue: " + o.eClass().getDefaultValue());
+ System.out.println(tabs(level) + "o.eClass.getEPackage: " + o.eClass().getEPackage());
+ System.out.println(tabs(level) + "o.eClass.getEIDAttribute: " + o.eClass().getEIDAttribute());
+ System.out.println(tabs(level) + "o.eClass.getInstanceClass: " + o.eClass().getInstanceClass());
+
+ for (EAttribute attribute : o.eClass().getEAllAttributes())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass.getEAllAttributes.attribute: '" + attribute.getName() + "': "
+ + o.eGet(attribute));
+ }
+ for (EAnnotation annotation : o.eClass().getEAnnotations())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAnnotations().annotation: '" + annotation);
+ }
+ for (EReference containment : o.eClass().getEAllContainments())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllContainments().containment: '" + containment);
+ }
+ for (EGenericType genericSupertype : o.eClass().getEAllGenericSuperTypes())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllGenericSuperTypes().genericSupertype: '"
+ + genericSupertype);
+ }
+ for (EOperation operation : o.eClass().getEAllOperations())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllOperations().operation: '" + operation);
+ }
+
+ for (EReference reference : o.eClass().getEAllReferences())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllReferences().reference: '" + reference);
+ }
+ for (EClass supertype : o.eClass().getEAllSuperTypes())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllSuperTypes().supertype: '" + supertype);
+ }
+ for (EStructuralFeature structuralFeature : o.eClass().getEAllStructuralFeatures())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllStructuralFeatures().structuralFeature: '"
+ + structuralFeature);
+ }
+ for (EAnnotation annotation : o.eClass().getEAnnotations())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAnnotations().annotation: '" + annotation);
+ }
+ for (EAttribute attribute : o.eClass().getEAttributes())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAttributes().annotation: '" + attribute);
+ }
+ for (Adapter adapter : o.eClass().eAdapters())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().eAdapters().adapter: '" + adapter);
+ }
+
+ for (Object child : o.eContents())
+ {
+ printEObjectFull((EObject)child, level + 2);
+ }
+ }
+
+ public static void printEObjectFullSysout(EObject o, int level)
+ {
+ System.out.println(tabs(level) + "--------------------------------------------");
+ System.out.println(tabs(level) + "Object: " + o);
+ System.out.println(tabs(level) + "o.eContainer: " + o.eContainer());
+ System.out.println(tabs(level) + "o.eContainingFeature: " + o.eContainingFeature());
+ System.out.println(tabs(level) + "o.eContainmentFeature: " + o.eContainmentFeature());
+ System.out.println(tabs(level) + "o.eIsProxy: " + o.eIsProxy());
+ System.out.println(tabs(level) + "o.eResource: " + o.eResource());
+ System.out.println(tabs(level) + "o.getClass: " + o.getClass());
+ System.out.println(tabs(level) + "o.eClass: " + o.eClass());
+ System.out.println(tabs(level) + "o.eCrossReferences: " + o.eCrossReferences());
+
+ System.out.println(tabs(level) + "o.eClass.getClassifierID: " + o.eClass().getClassifierID());
+ System.out.println(tabs(level) + "o.eClass.getFeatureCount: " + o.eClass().getFeatureCount());
+ System.out.println(tabs(level) + "o.eClass.getInstanceClassName: " + o.eClass().getInstanceClassName());
+ System.out.println(tabs(level) + "o.eClass.getInstanceTypeName: " + o.eClass().getInstanceTypeName());
+ System.out.println(tabs(level) + "o.eClass.getName: " + o.eClass().getName());
+ System.out.println(tabs(level) + "o.eClass.getDefaultValue: " + o.eClass().getDefaultValue());
+ System.out.println(tabs(level) + "o.eClass.getEPackage: " + o.eClass().getEPackage());
+ System.out.println(tabs(level) + "o.eClass.getEIDAttribute: " + o.eClass().getEIDAttribute());
+ System.out.println(tabs(level) + "o.eClass.getInstanceClass: " + o.eClass().getInstanceClass());
+
+ for (EAttribute attribute : o.eClass().getEAllAttributes())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass.getEAllAttributes.attribute: '" + attribute.getName() + "': "
+ + o.eGet(attribute));
+ }
+ for (EAnnotation annotation : o.eClass().getEAnnotations())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAnnotations().annotation: '" + annotation);
+ }
+ for (EReference containment : o.eClass().getEAllContainments())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllContainments().containment: '" + containment);
+ }
+ for (EGenericType genericSupertype : o.eClass().getEAllGenericSuperTypes())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllGenericSuperTypes().genericSupertype: '"
+ + genericSupertype);
+ }
+ for (EOperation operation : o.eClass().getEAllOperations())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllOperations().operation: '" + operation);
+ }
+
+ for (EReference reference : o.eClass().getEAllReferences())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllReferences().reference: '" + reference);
+ }
+ for (EClass supertype : o.eClass().getEAllSuperTypes())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllSuperTypes().supertype: '" + supertype);
+ }
+ for (EStructuralFeature structuralFeature : o.eClass().getEAllStructuralFeatures())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAllStructuralFeatures().structuralFeature: '"
+ + structuralFeature);
+ }
+ for (EAnnotation annotation : o.eClass().getEAnnotations())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAnnotations().annotation: '" + annotation);
+ }
+ for (EAttribute attribute : o.eClass().getEAttributes())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().getEAttributes().annotation: '" + attribute);
+ }
+ for (Adapter adapter : o.eClass().eAdapters())
+ {
+ System.out.println(tabs(level + 1) + "o.eClass().eAdapters().adapter: '" + adapter);
+ }
+
+ for (Object child : o.eContents())
+ {
+ printEObjectFullSysout((EObject)child, level + 2);
+ }
+ }
+
+ private static String tabs(int level)
+ {
+ String s = "";
+ for (int i = 0; i < level; i++)
+ {
+ s += "\t";
+ }
+ return s;
+ }
+
+ public static String getLocationFromResource(Resource r) throws MalformedURLException, IOException
+ {
+ return FileLocator.resolve(new URL(r.getURI().toString())).toString().replace("file:", "");
+ }
+
+ /****************************************************************************************************
+ * finds EditPart from a View
+ *
+ * @param view
+ * @param dawnDiagramEditor
+ * @return find an Editpart for a view with the same xmi id
+ ***************************************************************************************************/
+ @Deprecated
+ public static EditPart findEditPartByXMIId(View view, DiagramDocumentEditor dawnDiagramEditor)
+ {
+ DiagramEditPart diagramEditPart = dawnDiagramEditor.getDiagramEditPart();
+
+ for (Object e : diagramEditPart.getChildren())
+ {
+ EditPart ep = (EditPart)e;
+ if (ResourceHelper.getXmiId((EObject)ep.getModel()).equals(ResourceHelper.getXmiId(view)))
+ {
+ return ep;
+ }
+ }
+
+ for (Object e : diagramEditPart.getConnections())
+ {
+ EditPart ep = (EditPart)e;
+ if (ResourceHelper.getXmiId((EObject)ep.getModel()).equals(ResourceHelper.getXmiId(view)))
+ {
+ return ep;
+ }
+ }
+ return null;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnDiagramEditingDomainFactory.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnDiagramEditingDomainFactory.java
new file mode 100644
index 0000000000..e09ff64218
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnDiagramEditingDomainFactory.java
@@ -0,0 +1,93 @@
+package org.eclipse.emf.cdo.dawn.transaction;
+
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.transaction.TransactionalCommandStack;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.TransactionChangeRecorder;
+import org.eclipse.emf.workspace.WorkspaceEditingDomainFactory;
+import org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl;
+
+import org.eclipse.core.commands.operations.IOperationHistory;
+import org.eclipse.gmf.runtime.diagram.core.DiagramEditingDomainFactory;
+
+public class DawnDiagramEditingDomainFactory extends DiagramEditingDomainFactory
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnDiagramEditingDomainFactory.class);
+
+ private static DawnDiagramEditingDomainFactory instance = new DawnDiagramEditingDomainFactory();
+
+ protected static class DawnDiagramEditingDomain extends DiagramEditingDomain
+ {
+ public DawnDiagramEditingDomain(AdapterFactory adapterFactory, ResourceSet resourceSet)
+ {
+ super(adapterFactory, resourceSet);
+ }
+
+ public DawnDiagramEditingDomain(AdapterFactory adapterFactory, TransactionalCommandStack stack,
+ ResourceSet resourceSet)
+ {
+ super(adapterFactory, stack, resourceSet);
+ }
+
+ public DawnDiagramEditingDomain(AdapterFactory adapterFactory, TransactionalCommandStack stack)
+ {
+ super(adapterFactory, stack);
+ }
+
+ public DawnDiagramEditingDomain(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * override the TransactionChangeRecorder to suppress the write asserts which are not need with CDO
+ */
+ @Override
+ protected TransactionChangeRecorder createChangeRecorder(ResourceSet rset)
+ {
+ return new DawnTransactionChangeRecorder(this, rset);
+ }
+ }
+
+ @Override
+ public TransactionalEditingDomain createEditingDomain(IOperationHistory history)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.trace("Creating DawnTransactionalEditingDomain using DawnDiagramEditingDomainFactory"); //$NON-NLS-1$
+ }
+ WorkspaceCommandStackImpl stack = new WorkspaceCommandStackImpl(history);
+
+ TransactionalEditingDomain result = new DawnDiagramEditingDomain(new ComposedAdapterFactory(
+ ComposedAdapterFactory.Descriptor.Registry.INSTANCE), stack);
+
+ mapResourceSet(result);
+
+ configure(result);
+ return result;
+ }
+
+ @Override
+ public TransactionalEditingDomain createEditingDomain(ResourceSet rset, IOperationHistory history)
+ {
+ WorkspaceCommandStackImpl stack = new WorkspaceCommandStackImpl(history);
+
+ TransactionalEditingDomain result = new DawnDiagramEditingDomain(new ComposedAdapterFactory(
+ ComposedAdapterFactory.Descriptor.Registry.INSTANCE), stack, rset);
+
+ mapResourceSet(result);
+ configure(result);
+ return result;
+ }
+
+ public static WorkspaceEditingDomainFactory getInstance()
+ {
+ return instance;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnGMFEditingDomainFactory.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnGMFEditingDomainFactory.java
new file mode 100644
index 0000000000..dc0e9cefd2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnGMFEditingDomainFactory.java
@@ -0,0 +1,85 @@
+package org.eclipse.emf.cdo.dawn.transaction;
+
+import org.eclipse.emf.cdo.internal.dawn.bundle.OM;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.WorkspaceEditingDomainFactory;
+import org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl;
+
+import org.eclipse.core.commands.operations.IOperationHistory;
+import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
+
+public class DawnGMFEditingDomainFactory extends GMFEditingDomainFactory
+{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnGMFEditingDomainFactory.class);
+
+ private static DawnGMFEditingDomainFactory instance = new DawnGMFEditingDomainFactory();
+
+ @Override
+ public TransactionalEditingDomain createEditingDomain()
+ {
+ TransactionalEditingDomain result = super.createEditingDomain();
+ configure(result);
+ return result;
+ }
+
+ @Override
+ public TransactionalEditingDomain createEditingDomain(ResourceSet rset)
+ {
+ TransactionalEditingDomain result = super.createEditingDomain(rset);
+ configure(result);
+ return result;
+ }
+
+ /**
+ * overrides WorkspaceEditingDomainFactory method
+ */
+ @Override
+ public synchronized TransactionalEditingDomain createEditingDomain(IOperationHistory history)
+ {
+ WorkspaceCommandStackImpl stack = new WorkspaceCommandStackImpl(history);
+ stack.setResourceUndoContextPolicy(getResourceUndoContextPolicy());
+
+ TransactionalEditingDomain result = new DawnTransactionalEditingDomainImpl(new ComposedAdapterFactory(
+ ComposedAdapterFactory.Descriptor.Registry.INSTANCE), stack);
+
+ mapResourceSet(result);
+ // configures as the GMFEditingDomainFactory would do
+ configure(result);
+
+ return result;
+ }
+
+ /**
+ * overrides WorkspaceEditingDomainFactory method
+ */
+ @Override
+ public synchronized TransactionalEditingDomain createEditingDomain(ResourceSet rset, IOperationHistory history)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.trace("Creating DawnTransactionalEditingDomain using DawnDiagramEditingDomainFactory"); //$NON-NLS-1$
+ }
+ WorkspaceCommandStackImpl stack = new WorkspaceCommandStackImpl(history);
+ stack.setResourceUndoContextPolicy(getResourceUndoContextPolicy());
+
+ TransactionalEditingDomain result = new DawnTransactionalEditingDomainImpl(new ComposedAdapterFactory(
+ ComposedAdapterFactory.Descriptor.Registry.INSTANCE), stack, rset);
+
+ mapResourceSet(result);
+
+ // configures as the GMFEditingDomainFactory would do
+ configure(result);
+
+ return result;
+ }
+
+ public static WorkspaceEditingDomainFactory getInstance()
+ {
+ return instance;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnTransactionChangeRecorder.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnTransactionChangeRecorder.java
new file mode 100644
index 0000000000..0a836fad70
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnTransactionChangeRecorder.java
@@ -0,0 +1,20 @@
+package org.eclipse.emf.cdo.dawn.transaction;
+
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.TransactionChangeRecorder;
+
+public class DawnTransactionChangeRecorder extends TransactionChangeRecorder
+{
+
+ public DawnTransactionChangeRecorder(InternalTransactionalEditingDomain domain, ResourceSet rset)
+ {
+ super(domain, rset);
+ }
+
+ @Override
+ protected void assertWriting()
+ {
+ // Do nothing because we do not want to react an the assert. Every trnasaction is handle be CDO itself
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnTransactionalEditingDomainImpl.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnTransactionalEditingDomainImpl.java
new file mode 100644
index 0000000000..e0fb7821f2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/transaction/DawnTransactionalEditingDomainImpl.java
@@ -0,0 +1,38 @@
+package org.eclipse.emf.cdo.dawn.transaction;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.TransactionalCommandStack;
+import org.eclipse.emf.transaction.impl.TransactionChangeRecorder;
+import org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl;
+
+public class DawnTransactionalEditingDomainImpl extends TransactionalEditingDomainImpl
+{
+
+ public DawnTransactionalEditingDomainImpl(AdapterFactory adapterFactory, ResourceSet resourceSet)
+ {
+ super(adapterFactory, resourceSet);
+ }
+
+ public DawnTransactionalEditingDomainImpl(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ public DawnTransactionalEditingDomainImpl(AdapterFactory adapterFactory, TransactionalCommandStack stack,
+ ResourceSet resourceSet)
+ {
+ super(adapterFactory, stack, resourceSet);
+ }
+
+ public DawnTransactionalEditingDomainImpl(AdapterFactory adapterFactory, TransactionalCommandStack stack)
+ {
+ super(adapterFactory, stack);
+ }
+
+ @Override
+ protected TransactionChangeRecorder createChangeRecorder(ResourceSet rset)
+ {
+ return new DawnTransactionChangeRecorder(this, rset);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/DawnConflictView.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/DawnConflictView.java
new file mode 100644
index 0000000000..6316fef285
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/DawnConflictView.java
@@ -0,0 +1,305 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.views;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.DrillDownAdapter;
+import org.eclipse.ui.part.ViewPart;
+
+import java.util.Observable;
+import java.util.Observer;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnConflictView extends ViewPart implements Observer
+{
+ private TreeViewer viewer;
+
+ private DrillDownAdapter drillDownAdapter;
+
+ private Action action1;
+
+ class ViewContentProvider implements ITreeContentProvider
+ {
+ private TreeParent invisibleRoot;
+
+ public void inputChanged(Viewer v, Object oldInput, Object newInput)
+ {
+ initialize();
+ }
+
+ public void dispose()
+ {
+ }
+
+ public Object[] getElements(Object parent)
+ {
+ if (parent.equals(getViewSite()))
+ {
+ if (invisibleRoot == null)
+ {
+ initialize();
+ }
+ return getChildren(invisibleRoot);
+ }
+ return getChildren(parent);
+ }
+
+ public Object getParent(Object child)
+ {
+ if (child instanceof TreeObject)
+ {
+ return ((TreeObject)child).getParent();
+ }
+ return null;
+ }
+
+ public Object[] getChildren(Object parent)
+ {
+ if (parent instanceof TreeParent)
+ {
+ return ((TreeParent)parent).getChildren();
+ }
+ return new Object[0];
+ }
+
+ public boolean hasChildren(Object parent)
+ {
+ if (parent instanceof TreeParent)
+ {
+ return ((TreeParent)parent).hasChildren();
+ }
+ return false;
+ }
+
+ /*
+ * We will set up a dummy model to initialize tree heararchy. In a real code, you will connect to a real model and
+ * expose its hierarchy.
+ */
+ private void initialize()
+ {
+
+ // IDawnDiagramEditor editor = (IDawnDiagramEditor)DawnEditorHelper.getActiveEditor();
+ // Watcher watcher = editor.getWatcher();
+
+ // TreeParent root = new TreeParent("Locally Deletion Conflict", null);
+ // for (String key : watcher.getResourceSynchronizer().getDeletedLocallyConflicts().keySet())
+ // {
+ // ChangeObject changeObject = watcher.getResourceSynchronizer().getDeletedLocallyConflicts().get(key);
+ // View view = (View) changeObject.getServerObject();
+ // EObject element = view.getElement();
+ // TreeObject to;
+ // if(element !=null)
+ // {
+ // to = new TreeObject(view.eClass().getName() + "(" + element.getClass().getName() + ")", view);
+ // }
+ // else
+ // {
+ // to = new TreeObject(view.eClass().getName() + "(no element)", view);
+ // }
+ // root.addChild(to);
+ // }
+ //
+ // TreeParent root2 = new TreeParent("Remotely Deletion Conflict", null);
+ // for (String key : watcher.getResourceSynchronizer().getDeletedRemotelyConflicts().keySet())
+ // {
+ // ChangeObject changeObject = watcher.getResourceSynchronizer().getDeletedRemotelyConflicts().get(key);
+ // View view = (View) changeObject.getLastObject();
+ // EObject element = view.getElement();
+ // TreeObject to = new TreeObject(view.eClass().getName() + "(" + element.getClass().getName() + ")", view);
+ // root2.addChild(to);
+ // }
+ // TreeParent root3 = new TreeParent("Locally And Remotely Changed Conflict", null);
+ //
+ // for (String key : watcher.getResourceSynchronizer().getChangedLocalyAndRemotellyConflicts().keySet())
+ // {
+ // ChangeObject changeObject = watcher.getResourceSynchronizer().getChangedLocalyAndRemotellyConflicts().get(key);
+ // View view = (View) changeObject.getLastObject();
+ // EObject element = view.getElement();
+ // TreeObject to = new TreeObject(view.eClass().getName() + "(" + element.getClass().getName() + ")", view);
+ // root3.addChild(to);
+ // }
+
+ // invisibleRoot = new TreeParent("", null);
+ // invisibleRoot.addChild(root);
+ // invisibleRoot.addChild(root2);
+ // invisibleRoot.addChild(root3);
+ }
+ }
+
+ class ViewLabelProvider extends LabelProvider
+ {
+
+ @Override
+ public String getText(Object obj)
+ {
+ return obj.toString();
+ }
+
+ @Override
+ public Image getImage(Object obj)
+ {
+ String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
+ if (obj instanceof TreeParent)
+ {
+ imageKey = ISharedImages.IMG_OBJ_FOLDER;
+ }
+ return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
+ }
+ }
+
+ class NameSorter extends ViewerSorter
+ {
+ }
+
+ /**
+ * The constructor.
+ */
+ public DawnConflictView()
+ {
+ // IDawnDiagramEditor editor = (IDawnDiagramEditor)DawnEditorHelper.getActiveEditor();
+ // Watcher watcher = editor.getWatcher();
+ // watcher.getResourceSynchronizer().addObserver(this);
+ }
+
+ /**
+ * This is a callback that will allow us to create the viewer and initialize it.
+ */
+ @Override
+ public void createPartControl(Composite parent)
+ {
+ viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+
+ viewer.getTree().setHeaderVisible(true);
+ viewer.getTree().setLinesVisible(true);
+ TreeColumn col1 = new TreeColumn(viewer.getTree(), SWT.NONE);
+ col1.setText("Conflict");
+ col1.setWidth(200);
+ TreeColumn col2 = new TreeColumn(viewer.getTree(), SWT.NONE);
+ col2.setText("Description");
+ col1.setWidth(500);
+
+ drillDownAdapter = new DrillDownAdapter(viewer);
+ viewer.setContentProvider(new ViewContentProvider());
+ viewer.setLabelProvider(new ViewLabelProvider());
+ viewer.setSorter(new NameSorter());
+ viewer.setInput(getViewSite());
+
+ // TODO generation
+ // Create the help context id for the viewer's control
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
+ "de.mf.eclipse.plugins.dawn.diagram.communication.viewer");
+ makeActions();
+ hookContextMenu();
+ // hookDoubleClickAction();
+ contributeToActionBars();
+ }
+
+ private void hookContextMenu()
+ {
+ MenuManager menuMgr = new MenuManager("#PopupMenu");
+ menuMgr.setRemoveAllWhenShown(true);
+ menuMgr.addMenuListener(new IMenuListener()
+ {
+ public void menuAboutToShow(IMenuManager manager)
+ {
+ DawnConflictView.this.fillContextMenu(manager);
+ }
+ });
+ Menu menu = menuMgr.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(menuMgr, viewer);
+ }
+
+ private void contributeToActionBars()
+ {
+ IActionBars bars = getViewSite().getActionBars();
+ fillLocalPullDown(bars.getMenuManager());
+ fillLocalToolBar(bars.getToolBarManager());
+ }
+
+ private void fillLocalPullDown(IMenuManager manager)
+ {
+ manager.add(action1);
+ manager.add(new Separator());
+ }
+
+ private void fillContextMenu(IMenuManager manager)
+ {
+ manager.add(action1);
+ manager.add(new Separator());
+ drillDownAdapter.addNavigationActions(manager);
+ // Other plug-ins can contribute there actions here
+ manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
+ }
+
+ private void fillLocalToolBar(IToolBarManager manager)
+ {
+ manager.add(action1);
+ // manager.add(action2);
+ manager.add(new Separator());
+ drillDownAdapter.addNavigationActions(manager);
+ }
+
+ private void makeActions()
+ {
+ // action1 = new SolveConflictTreeViewAction(viewer);
+ //
+ // action1.setText("solve conflict");
+ // action1.setToolTipText("solvesw the specific confilt for the object");
+ // action1.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
+ //
+ //
+ }
+
+ /**
+ * Passing the focus request to the viewer's control.
+ */
+ @Override
+ public void setFocus()
+ {
+ viewer.getControl().setFocus();
+ }
+
+ public void update(Observable o, Object arg)
+ {
+ Display.getDefault().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ viewer.getContentProvider().inputChanged(null, null, null);
+ viewer.refresh();
+
+ }
+ });
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/TreeObject.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/TreeObject.java
new file mode 100644
index 0000000000..ae6eb4b366
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/TreeObject.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.views;
+
+
+/**
+ * @author Martin Fluegge
+ */
+public class TreeObject
+{
+ protected String name;
+
+ private TreeParent parent;
+
+ private Object obj;
+
+ public TreeObject(String name, Object o)
+ {
+ this.name = name;
+ obj = o;
+ }
+
+ public Object getObj()
+ {
+ return obj;
+ }
+
+ public void setObj(Object obj)
+ {
+ this.obj = obj;
+ }
+
+ public Object getName()
+ {
+ return obj;
+ }
+
+ public void setParent(TreeParent parent)
+ {
+ this.parent = parent;
+ }
+
+ public TreeParent getParent()
+ {
+ return parent;
+ }
+
+ @Override
+ public String toString()
+ {
+ return name;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/TreeParent.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/TreeParent.java
new file mode 100644
index 0000000000..970db472fe
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/views/TreeParent.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2009 - 2010 Martin Fluegge (Berlin, Germany).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.cdo.dawn.views;
+
+import java.util.ArrayList;
+
+/**
+ * @author Martin Fluegge
+ */
+public class TreeParent extends TreeObject
+{
+ private ArrayList<TreeObject> children;
+
+ public TreeParent(String name, Object obj)
+ {
+ super(name, obj);
+ children = new ArrayList<TreeObject>();
+ }
+
+ public void addChild(TreeObject child)
+ {
+ children.add(child);
+ child.setParent(this);
+ }
+
+ public void removeChild(TreeObject child)
+ {
+ children.remove(child);
+ child.setParent(null);
+ }
+
+ public TreeObject[] getChildren()
+ {
+ return children.toArray(new TreeObject[children.size()]);
+ }
+
+ public boolean hasChildren()
+ {
+ return children.size() > 0;
+ }
+
+ @Override
+ public String toString()
+ {
+ return name + "(" + getChildren().length + ")";
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/internal/dawn/bundle/OM.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/internal/dawn/bundle/OM.java
new file mode 100644
index 0000000000..31d28bdebd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/internal/dawn/bundle/OM.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright (c) 2004 - 2010 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.internal.dawn.bundle;
+
+import org.eclipse.net4j.util.om.OMBundle;
+import org.eclipse.net4j.util.om.OMPlatform;
+import org.eclipse.net4j.util.om.log.OMLogger;
+import org.eclipse.net4j.util.om.pref.OMPreferences;
+import org.eclipse.net4j.util.om.trace.OMTracer;
+
+/**
+ * @author Martin Fluegge
+ */
+public abstract class OM
+{
+ public static final String BUNDLE_ID = "org.eclipse.emf.cdo.dawn"; //$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 OMTracer DEBUG_OBJECT = DEBUG.tracer("object"); //$NON-NLS-1$
+
+ public static final OMLogger LOG = BUNDLE.logger();
+
+ public static final OMPreferences PREFS = BUNDLE.preferences();
+}

Back to the top