Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Fluegge2010-10-08 16:50:42 +0000
committerMartin Fluegge2010-10-08 16:50:42 +0000
commit01700460fd91df78dc01bd6f026f7077fe98fa5a (patch)
treee6ba381e5d16f66d0ae28ee41d2d65c43f4ce0f1
parent7bfe12fe5466a6f34e467252dcac8839ac3f1e4e (diff)
downloadcdo-01700460fd91df78dc01bd6f026f7077fe98fa5a.tar.gz
cdo-01700460fd91df78dc01bd6f026f7077fe98fa5a.tar.xz
cdo-01700460fd91df78dc01bd6f026f7077fe98fa5a.zip
[323828] [Dawn] Provide collaborative EMF editors on CDO
https://bugs.eclipse.org/bugs/show_bug.cgi?id=323828
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/META-INF/MANIFEST.MF4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_emfFragmentgenerator_DawnEMFGenerator.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnEMFGenerator.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnFragmentGenerator.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnGMFGenerator.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_gmfFragmentgenerator_DawnGMFGenerator.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnEMFGenerator.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnFragmentGenerator.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnGenerator.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/plugin.properties11
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnEMFGeneratorItemProvider.java113
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnFragmentGeneratorItemProvider.java196
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGMFGeneratorItemProvider.java136
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGeneratorItemProvider.java181
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawngenmodelItemProviderAdapterFactory.java93
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/META-INF/MANIFEST.MF4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelActionBarContributor.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelEditor.java14
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/presentation/DawngenmodelModelWizard.java15
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/META-INF/MANIFEST.MF10
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.ecore12
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnEMFGenerator.java31
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnFragmentGenerator.java127
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGMFGenerator.java59
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGenerator.java95
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelFactory.java27
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawngenmodelPackage.java354
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnEMFGeneratorImpl.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnFragmentGeneratorImpl.java323
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGMFGeneratorImpl.java146
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGeneratorImpl.java319
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelFactoryImpl.java42
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawngenmodelPackageImpl.java169
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelAdapterFactory.java67
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/util/DawngenmodelSwitch.java90
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/META-INF/MANIFEST.MF23
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties3
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.xml20
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/metamodel/DawnCodeGen.ecore12
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateClientCodeAction.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java171
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateEMFFragmentAction.java85
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/EMFFragmentCreator.java148
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/GMFFragmentCreator.java14
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/messages/Messages.java35
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/messages/messages.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.ext4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.java12
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/EMFFragmentTemplate.xpt398
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/GMFFragmentTemplate.xpt32
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/emfFragmentGenerator.oaw89
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/gmfFragmentGenerator.oaw2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn/fragment.xml4
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn/src/org/eclipse/emf/cdo/dawn/examples/acore/presentation/DawnAcoreEditor.java21
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java9
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/testdata/model/acore.dawngenmodel11
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/META-INF/MANIFEST.MF1
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnEMFEditorSupport.java15
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnGMFEditorSupport.java17
-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.java160
-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.java73
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionHandler.java166
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/IDawnListener.java28
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/impl/DawnEMFHandler.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/impl/DawnGMFHandler.java282
75 files changed, 3788 insertions, 1603 deletions
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/META-INF/MANIFEST.MF
index 75b001321b..5b080b4544 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit;singleton:=true
-Bundle-Version: 0.2.100.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.provider.DawnCodeGenEditPlugin$Implementation
Bundle-Vendor: %providerName
@@ -10,7 +10,7 @@ Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.provider;version="0.2.100"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
- org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;bundle-version="[0.2.0,1.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore.edit;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_emfFragmentgenerator_DawnEMFGenerator.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_emfFragmentgenerator_DawnEMFGenerator.gif
new file mode 100644
index 0000000000..b2b92ad63d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_emfFragmentgenerator_DawnEMFGenerator.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnEMFGenerator.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnEMFGenerator.gif
new file mode 100644
index 0000000000..b2b92ad63d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnEMFGenerator.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnFragmentGenerator.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnFragmentGenerator.gif
new file mode 100644
index 0000000000..1196aa007b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnFragmentGenerator.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnGMFGenerator.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnGMFGenerator.gif
new file mode 100644
index 0000000000..3acaf19569
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_generators_DawnGMFGenerator.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_gmfFragmentgenerator_DawnGMFGenerator.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_gmfFragmentgenerator_DawnGMFGenerator.gif
new file mode 100644
index 0000000000..3acaf19569
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/ctool16/CreateDawnGenerator_gmfFragmentgenerator_DawnGMFGenerator.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnEMFGenerator.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnEMFGenerator.gif
new file mode 100644
index 0000000000..53500daf98
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnEMFGenerator.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnFragmentGenerator.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnFragmentGenerator.gif
new file mode 100644
index 0000000000..739ebbfa6a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnFragmentGenerator.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnGenerator.gif b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnGenerator.gif
new file mode 100644
index 0000000000..30f0c48da8
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/icons/full/obj16/DawnGenerator.gif
Binary files differ
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 30943406c9..5536c784ec 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
@@ -39,3 +39,14 @@ _UI_DawnGMFGenerator_dawnDiagramEditPartClassName_feature = Dawn Diagram Edit Pa
_UI_DawnGMFGenerator_dawnEditPartFactoryClassName_feature = Dawn Edit Part Factory Class Name
_UI_DawnGMFGenerator_dawnEditPartProviderClassName_feature = Dawn Edit Part Provider Class Name
_UI_DawnGMFGenerator_dawnEditPolicyProviderClassName_feature = Dawn Edit Policy Provider Class Name
+_UI_DawnGenerator_type = Dawn Generator
+_UI_DawnEMFGenerator_type = Dawn EMF Generator
+_UI_DawnGenerator_fragmentName_feature = Fragment Name
+_UI_DawnGenerator_dawnEditorClassName_feature = Dawn Editor Class Name
+_UI_DawnFragmentGenerator_type = Dawn Fragment Generator
+_UI_DawnGenerator_generators_feature = Generators
+_UI_DawnFragmentGenerator_fragmentName_feature = Fragment Name
+_UI_DawnFragmentGenerator_dawnEditorClassName_feature = Dawn Editor Class Name
+_UI_DawnGenerator_emfFragmentgenerator_feature = Emf Fragmentgenerator
+_UI_DawnGenerator_gmfFragmentgenerator_feature = Gmf Fragmentgenerator
+_UI_DawnFragmentGenerator_emfGenModel_feature = Emf Gen Model
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnEMFGeneratorItemProvider.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnEMFGeneratorItemProvider.java
new file mode 100644
index 0000000000..2669184a68
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnEMFGeneratorItemProvider.java
@@ -0,0 +1,113 @@
+/**
+ * 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.codegen.dawngenmodel.provider;
+
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @since 1.0
+ */
+public class DawnEMFGeneratorItemProvider extends DawnFragmentGeneratorItemProvider
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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 -->
+ *
+ * @generated
+ */
+ public DawnEMFGeneratorItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns DawnEMFGenerator.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DawnEMFGenerator"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ String label = ((DawnEMFGenerator)object).getFragmentName();
+ return label == null || label.length() == 0 ? getString("_UI_DawnEMFGenerator_type")
+ : getString("_UI_DawnEMFGenerator_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating a
+ * viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created under
+ * this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnFragmentGeneratorItemProvider.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnFragmentGeneratorItemProvider.java
new file mode 100644
index 0000000000..1fd99f9e37
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnFragmentGeneratorItemProvider.java
@@ -0,0 +1,196 @@
+/**
+ * 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.codegen.dawngenmodel.provider;
+
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @since 1.0
+ */
+public class DawnFragmentGeneratorItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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 -->
+ *
+ * @generated
+ */
+ public DawnFragmentGeneratorItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addFragmentNamePropertyDescriptor(object);
+ addDawnEditorClassNamePropertyDescriptor(object);
+ addEmfGenModelPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Fragment Name feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addFragmentNamePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnFragmentGenerator_fragmentName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnFragmentGenerator_fragmentName_feature",
+ "_UI_DawnFragmentGenerator_type"), DawngenmodelPackage.Literals.DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME,
+ true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Dawn Editor Class Name feature. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected void addDawnEditorClassNamePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnFragmentGenerator_dawnEditorClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnFragmentGenerator_dawnEditorClassName_feature",
+ "_UI_DawnFragmentGenerator_type"),
+ DawngenmodelPackage.Literals.DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Emf Gen Model feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addEmfGenModelPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnFragmentGenerator_emfGenModel_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnFragmentGenerator_emfGenModel_feature",
+ "_UI_DawnFragmentGenerator_type"), DawngenmodelPackage.Literals.DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL,
+ true, false, true, null, null, null));
+ }
+
+ /**
+ * This returns DawnFragmentGenerator.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DawnFragmentGenerator"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ String label = ((DawnFragmentGenerator)object).getFragmentName();
+ return label == null || label.length() == 0 ? getString("_UI_DawnFragmentGenerator_type")
+ : getString("_UI_DawnFragmentGenerator_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating a
+ * viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DawnFragmentGenerator.class))
+ {
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME:
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created under
+ * this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return DawnCodeGenEditPlugin.INSTANCE;
+ }
+
+}
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 7609e95daa..c6f214d4c3 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
@@ -15,15 +15,9 @@ import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
import java.util.Collection;
@@ -35,8 +29,7 @@ import java.util.List;
*
* @generated
*/
-public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
- ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+public class DawnGMFGeneratorItemProvider extends DawnFragmentGeneratorItemProvider
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
@@ -67,8 +60,6 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
{
super.getPropertyDescriptors(object);
- addFragmentNamePropertyDescriptor(object);
- addDawnEditorClassNamePropertyDescriptor(object);
addDawnDocumentProviderClassNamePropertyDescriptor(object);
addDawnEditorUtilClassNamePropertyDescriptor(object);
addDawnCreationWizardClassNamePropertyDescriptor(object);
@@ -83,35 +74,6 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
}
/**
- * This adds a property descriptor for the Fragment Name feature. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addFragmentNamePropertyDescriptor(Object object)
- {
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(), getString("_UI_DawnGMFGenerator_fragmentName_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_fragmentName_feature",
- "_UI_DawnGMFGenerator_type"), DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__FRAGMENT_NAME, true, false,
- false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
- }
-
- /**
- * This adds a property descriptor for the Dawn Editor Class Name feature. <!-- begin-user-doc --> <!-- end-user-doc
- * -->
- *
- * @generated
- */
- protected void addDawnEditorClassNamePropertyDescriptor(Object object)
- {
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(), getString("_UI_DawnGMFGenerator_dawnEditorClassName_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnEditorClassName_feature",
- "_UI_DawnGMFGenerator_type"), DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME,
- true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
- }
-
- /**
* This adds a property descriptor for the Dawn Document Provider Class Name feature. <!-- begin-user-doc --> <!--
* end-user-doc -->
*
@@ -119,10 +81,11 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*/
protected void addDawnDocumentProviderClassNamePropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_DawnGMFGenerator_dawnDocumentProviderClassName_feature"), getString(
- "_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnDocumentProviderClassName_feature",
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnGMFGenerator_dawnDocumentProviderClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnDocumentProviderClassName_feature",
"_UI_DawnGMFGenerator_type"),
DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
@@ -136,10 +99,11 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*/
protected void addDawnEditorUtilClassNamePropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_DawnGMFGenerator_dawnEditorUtilClassName_feature"), getString(
- "_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnEditorUtilClassName_feature",
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnGMFGenerator_dawnEditorUtilClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnEditorUtilClassName_feature",
"_UI_DawnGMFGenerator_type"), DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__DAWN_EDITOR_UTIL_CLASS_NAME,
true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
@@ -152,10 +116,11 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*/
protected void addDawnCreationWizardClassNamePropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_DawnGMFGenerator_dawnCreationWizardClassName_feature"), getString(
- "_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnCreationWizardClassName_feature",
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnGMFGenerator_dawnCreationWizardClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnCreationWizardClassName_feature",
"_UI_DawnGMFGenerator_type"),
DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__DAWN_CREATION_WIZARD_CLASS_NAME, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
@@ -169,11 +134,12 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*/
protected void addDawnCanonicalEditingPolicyClassNamePropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_DawnGMFGenerator_dawnCanonicalEditingPolicyClassName_feature"), getString(
- "_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnCanonicalEditingPolicyClassName_feature",
- "_UI_DawnGMFGenerator_type"),
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnGMFGenerator_dawnCanonicalEditingPolicyClassName_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_DawnGMFGenerator_dawnCanonicalEditingPolicyClassName_feature", "_UI_DawnGMFGenerator_type"),
DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__DAWN_CANONICAL_EDITING_POLICY_CLASS_NAME, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
@@ -186,10 +152,11 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*/
protected void addDawnDiagramEditPartClassNamePropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_DawnGMFGenerator_dawnDiagramEditPartClassName_feature"), getString(
- "_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnDiagramEditPartClassName_feature",
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnGMFGenerator_dawnDiagramEditPartClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnDiagramEditPartClassName_feature",
"_UI_DawnGMFGenerator_type"),
DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__DAWN_DIAGRAM_EDIT_PART_CLASS_NAME, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
@@ -203,10 +170,11 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*/
protected void addDawnEditPartFactoryClassNamePropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_DawnGMFGenerator_dawnEditPartFactoryClassName_feature"), getString(
- "_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnEditPartFactoryClassName_feature",
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnGMFGenerator_dawnEditPartFactoryClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnEditPartFactoryClassName_feature",
"_UI_DawnGMFGenerator_type"),
DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__DAWN_EDIT_PART_FACTORY_CLASS_NAME, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
@@ -220,10 +188,11 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*/
protected void addDawnEditPartProviderClassNamePropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_DawnGMFGenerator_dawnEditPartProviderClassName_feature"), getString(
- "_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnEditPartProviderClassName_feature",
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnGMFGenerator_dawnEditPartProviderClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnEditPartProviderClassName_feature",
"_UI_DawnGMFGenerator_type"),
DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__DAWN_EDIT_PART_PROVIDER_CLASS_NAME, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
@@ -237,10 +206,11 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*/
protected void addDawnEditPolicyProviderClassNamePropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_DawnGMFGenerator_dawnEditPolicyProviderClassName_feature"), getString(
- "_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnEditPolicyProviderClassName_feature",
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnGMFGenerator_dawnEditPolicyProviderClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_dawnEditPolicyProviderClassName_feature",
"_UI_DawnGMFGenerator_type"),
DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__DAWN_EDIT_POLICY_PROVIDER_CLASS_NAME, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
@@ -254,10 +224,11 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
*/
protected void addGMFGenEditorGeneratorPropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
- .getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_DawnGMFGenerator_GMFGenEditorGenerator_feature"), getString(
- "_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_GMFGenEditorGenerator_feature",
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DawnGMFGenerator_GMFGenEditorGenerator_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DawnGMFGenerator_GMFGenEditorGenerator_feature",
"_UI_DawnGMFGenerator_type"), DawngenmodelPackage.Literals.DAWN_GMF_GENERATOR__GMF_GEN_EDITOR_GENERATOR,
true, false, true, null, null, null));
}
@@ -299,8 +270,6 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
switch (notification.getFeatureID(DawnGMFGenerator.class))
{
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__FRAGMENT_NAME:
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME:
case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME:
case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDITOR_UTIL_CLASS_NAME:
case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_CREATION_WIZARD_CLASS_NAME:
@@ -327,15 +296,4 @@ public class DawnGMFGeneratorItemProvider extends ItemProviderAdapter implements
super.collectNewChildDescriptors(newChildDescriptors, object);
}
- /**
- * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator()
- {
- return DawnCodeGenEditPlugin.INSTANCE;
- }
-
}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGeneratorItemProvider.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGeneratorItemProvider.java
new file mode 100644
index 0000000000..073191c2b5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/provider/DawnGeneratorItemProvider.java
@@ -0,0 +1,181 @@
+/**
+ * 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.codegen.dawngenmodel.provider;
+
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelFactory;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @since 1.0
+ */
+public class DawnGeneratorItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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 -->
+ *
+ * @generated
+ */
+ public DawnGeneratorItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(DawngenmodelPackage.Literals.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR);
+ childrenFeatures.add(DawngenmodelPackage.Literals.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns DawnGenerator.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DawnGenerator"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_DawnGenerator_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating a
+ * viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DawnGenerator.class))
+ {
+ case DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR:
+ case DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created under
+ * this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(DawngenmodelPackage.Literals.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR,
+ DawngenmodelFactory.eINSTANCE.createDawnEMFGenerator()));
+
+ newChildDescriptors.add(createChildParameter(DawngenmodelPackage.Literals.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR,
+ DawngenmodelFactory.eINSTANCE.createDawnGMFGenerator()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return DawnCodeGenEditPlugin.INSTANCE;
+ }
+
+}
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 bf11ef7105..e1f91362db 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
@@ -88,6 +88,60 @@ public class DawngenmodelItemProviderAdapterFactory extends DawngenmodelAdapterF
/**
* This keeps track of the one adapter used for all
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator} instances. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @since 1.0
+ */
+ protected DawnGeneratorItemProvider dawnGeneratorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDawnGeneratorAdapter()
+ {
+ if (dawnGeneratorItemProvider == null)
+ {
+ dawnGeneratorItemProvider = new DawnGeneratorItemProvider(this);
+ }
+
+ return dawnGeneratorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator} instances. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @since 1.0
+ */
+ protected DawnFragmentGeneratorItemProvider dawnFragmentGeneratorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDawnFragmentGeneratorAdapter()
+ {
+ if (dawnFragmentGeneratorItemProvider == null)
+ {
+ dawnFragmentGeneratorItemProvider = new DawnFragmentGeneratorItemProvider(this);
+ }
+
+ return dawnFragmentGeneratorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
* {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator} instances. <!-- begin-user-doc --> <!--
* end-user-doc -->
*
@@ -113,6 +167,33 @@ public class DawngenmodelItemProviderAdapterFactory extends DawngenmodelAdapterF
}
/**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator} instances. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @since 1.0
+ */
+ protected DawnEMFGeneratorItemProvider dawnEMFGeneratorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDawnEMFGeneratorAdapter()
+ {
+ if (dawnEMFGeneratorItemProvider == null)
+ {
+ dawnEMFGeneratorItemProvider = new DawnEMFGeneratorItemProvider(this);
+ }
+
+ return dawnEMFGeneratorItemProvider;
+ }
+
+ /**
* This returns the root adapter factory that contains this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
@@ -218,10 +299,22 @@ public class DawngenmodelItemProviderAdapterFactory extends DawngenmodelAdapterF
*/
public void dispose()
{
+ if (dawnGeneratorItemProvider != null)
+ {
+ dawnGeneratorItemProvider.dispose();
+ }
+ if (dawnFragmentGeneratorItemProvider != null)
+ {
+ dawnFragmentGeneratorItemProvider.dispose();
+ }
if (dawnGMFGeneratorItemProvider != null)
{
dawnGMFGeneratorItemProvider.dispose();
}
+ if (dawnEMFGeneratorItemProvider != null)
+ {
+ dawnEMFGeneratorItemProvider.dispose();
+ }
}
}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/META-INF/MANIFEST.MF
index 1078bb63d5..e156bbb8a3 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor;singleton:=true
-Bundle-Version: 0.2.100.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.presentation.DawnCodeGenEditorPlugin$Implementation
Bundle-Vendor: %providerName
@@ -37,7 +37,7 @@ Export-Package: org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.presentation;versi
org.eclipse.emf.common.ui"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.6.0,4.0.0)";visibility:=reexport,
- org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit;bundle-version="[0.2.0,1.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.edit.ui;bundle-version="[2.6.0,3.0.0)";visibility:=reexport,
org.eclipse.ui.ide;bundle-version="[3.6.0,4.0.0)";visibility:=reexport,
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 38f1c9cfda..a95f552b29 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
@@ -77,8 +77,8 @@ public class DawngenmodelActionBarContributor extends EditingDomainActionBarCont
*
* @generated
*/
- protected IAction showPropertiesViewAction = new Action(DawnCodeGenEditorPlugin.INSTANCE
- .getString("_UI_ShowPropertiesView_menu_item"))
+ protected IAction showPropertiesViewAction = new Action(
+ DawnCodeGenEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item"))
{
@Override
public void run()
@@ -100,8 +100,8 @@ public class DawngenmodelActionBarContributor extends EditingDomainActionBarCont
*
* @generated
*/
- protected IAction refreshViewerAction = new Action(DawnCodeGenEditorPlugin.INSTANCE
- .getString("_UI_RefreshViewer_menu_item"))
+ protected IAction refreshViewerAction = new Action(
+ DawnCodeGenEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item"))
{
@Override
public boolean isEnabled()
@@ -191,8 +191,9 @@ public class DawngenmodelActionBarContributor extends EditingDomainActionBarCont
{
super.contributeToMenu(menuManager);
- IMenuManager submenuManager = new MenuManager(DawnCodeGenEditorPlugin.INSTANCE
- .getString("_UI_DawngenmodelEditor_menu"), "org.eclipse.emf.cdo.dawn.codegen.dawngenmodelMenuID");
+ IMenuManager submenuManager = new MenuManager(
+ DawnCodeGenEditorPlugin.INSTANCE.getString("_UI_DawngenmodelEditor_menu"),
+ "org.eclipse.emf.cdo.dawn.codegen.dawngenmodelMenuID");
menuManager.insertAfter("additions", submenuManager);
submenuManager.add(new Separator("settings"));
submenuManager.add(new Separator("actions"));
@@ -206,8 +207,8 @@ public class DawngenmodelActionBarContributor extends EditingDomainActionBarCont
// Prepare for CreateSibling item addition or removal.
//
- createSiblingMenuManager = new MenuManager(DawnCodeGenEditorPlugin.INSTANCE
- .getString("_UI_CreateSibling_menu_item"));
+ createSiblingMenuManager = new MenuManager(
+ DawnCodeGenEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
submenuManager.insertBefore("additions", createSiblingMenuManager);
// Force an update because Eclipse hides empty menus now.
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 f2a4abcb4c..26f36d308c 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
@@ -459,8 +459,8 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD
if (delta.getKind() == IResourceDelta.REMOVED || delta.getKind() == IResourceDelta.CHANGED
&& delta.getFlags() != IResourceDelta.MARKERS)
{
- Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath()
- .toString(), true), false);
+ Resource resource = resourceSet.getResource(
+ URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
if (resource != null)
{
if (delta.getKind() == IResourceDelta.REMOVED)
@@ -625,8 +625,8 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD
if (updateProblemIndication)
{
BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.OK,
- "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor", 0, null, new Object[] { editingDomain
- .getResourceSet() });
+ "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor", 0, null,
+ new Object[] { editingDomain.getResourceSet() });
for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())
{
if (childDiagnostic.getSeverity() != Diagnostic.OK)
@@ -1017,8 +1017,8 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD
if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty())
{
BasicDiagnostic basicDiagnostic = new BasicDiagnostic(Diagnostic.ERROR,
- "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor", 0, getString("_UI_CreateModelError_message", resource
- .getURI()), new Object[] { exception == null ? (Object)resource : exception });
+ "org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor", 0, getString("_UI_CreateModelError_message",
+ resource.getURI()), new Object[] { exception == null ? (Object)resource : exception });
basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
return basicDiagnostic;
}
@@ -1689,7 +1689,7 @@ public class DawngenmodelEditor extends MultiPageEditorPart implements IEditingD
*/
protected void doSaveAs(URI uri, IEditorInput editorInput)
{
- editingDomain.getResourceSet().getResources().get(0).setURI(uri);
+ (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
setInputWithNotify(editorInput);
setPartName(editorInput.getName());
IProgressMonitor progressMonitor = getActionBars().getStatusLineManager() != null ? getActionBars()
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 5fc99a0bf2..ef8518bb1b 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
@@ -285,13 +285,13 @@ public class DawngenmodelModelWizard extends Wizard implements INewWizard
//
try
{
- page.openEditor(new FileEditorInput(modelFile), workbench.getEditorRegistry().getDefaultEditor(
- modelFile.getFullPath().toString()).getId());
+ page.openEditor(new FileEditorInput(modelFile),
+ workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
}
catch (PartInitException exception)
{
- MessageDialog.openError(workbenchWindow.getShell(), DawnCodeGenEditorPlugin.INSTANCE
- .getString("_UI_OpenEditorError_label"), exception.getMessage());
+ MessageDialog.openError(workbenchWindow.getShell(),
+ DawnCodeGenEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
return false;
}
@@ -571,8 +571,8 @@ public class DawngenmodelModelWizard extends Wizard implements INewWizard
if (encodings == null)
{
encodings = new ArrayList<String>();
- for (StringTokenizer stringTokenizer = new StringTokenizer(DawnCodeGenEditorPlugin.INSTANCE
- .getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens();)
+ for (StringTokenizer stringTokenizer = new StringTokenizer(
+ DawnCodeGenEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens();)
{
encodings.add(stringTokenizer.nextToken());
}
@@ -596,8 +596,7 @@ public class DawngenmodelModelWizard extends Wizard implements INewWizard
newFileCreationPage.setDescription(DawnCodeGenEditorPlugin.INSTANCE
.getString("_UI_DawngenmodelModelWizard_description"));
newFileCreationPage.setFileName(DawnCodeGenEditorPlugin.INSTANCE
- .getString("_UI_DawngenmodelEditorFilenameDefaultBase")
- + "." + FILE_EXTENSIONS.get(0));
+ .getString("_UI_DawngenmodelEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
addPage(newFileCreationPage);
// Try and get the resource selection to determine a current directory for the file dialog.
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/META-INF/MANIFEST.MF
index 4a385876bb..5dc38f5ecf 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;singleton:=true
-Bundle-Version: 0.2.100.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Localization: plugin
Bundle-Activator: org.eclipse.emf.cdo.dawn.codegen.genmodel.DawnGenModelPlugin
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
@@ -10,8 +10,8 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
org.eclipse.gmf.codegen;bundle-version="[2.2.0,3.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;version="0.2.100",
- org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl;version="0.2.100",
- org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.util;version="0.2.100",
- org.eclipse.emf.cdo.dawn.codegen.genmodel;version="0.2.100"
+Export-Package: org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;version="1.0.0",
+ org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl;version="1.0.0";x-internal:=true,
+ org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.util;version="1.0.0",
+ org.eclipse.emf.cdo.dawn.codegen.genmodel;version="1.0.0"
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.ecore b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.ecore
index 1fa1b67a82..e49cb3d16b 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.ecore
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.ecore
@@ -3,9 +3,18 @@
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="dawngenmodel"
nsURI="http://www.eclipse.org/emf/cdo/dawn/2010/GenModel" nsPrefix="dawngenmodel">
- <eClassifiers xsi:type="ecore:EClass" name="DawnGMFGenerator">
+ <eClassifiers xsi:type="ecore:EClass" name="DawnGenerator">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="emfFragmentgenerator" eType="#//DawnEMFGenerator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="gmfFragmentgenerator" eType="#//DawnGMFGenerator"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DawnFragmentGenerator">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fragmentName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dawnEditorClassName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="emfGenModel" eType="ecore:EClass platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DawnGMFGenerator" eSuperTypes="#//DawnFragmentGenerator">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dawnDocumentProviderClassName"
eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dawnEditorUtilClassName"
@@ -25,4 +34,5 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="GMFGenEditorGenerator"
eType="ecore:EClass platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.ecore#//GenEditorGenerator"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DawnEMFGenerator" eSuperTypes="#//DawnFragmentGenerator"/>
</ecore:EPackage>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnEMFGenerator.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnEMFGenerator.java
new file mode 100644
index 0000000000..a65590bd97
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnEMFGenerator.java
@@ -0,0 +1,31 @@
+/**
+ * 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.codegen.dawngenmodel;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Dawn EMF Generator</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnEMFGenerator()
+ * @model
+ * @generated
+ * @since 1.0
+ */
+public interface DawnEMFGenerator extends DawnFragmentGenerator
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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";
+
+} // DawnEMFGenerator
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnFragmentGenerator.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnFragmentGenerator.java
new file mode 100644
index 0000000000..dbf4c7fabb
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnFragmentGenerator.java
@@ -0,0 +1,127 @@
+/**
+ * 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.codegen.dawngenmodel;
+
+import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Dawn Fragment Generator</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getFragmentName <em>Fragment Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getDawnEditorClassName <em>Dawn Editor
+ * Class Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getEmfGenModel <em>Emf Gen Model</em>}
+ * </li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnFragmentGenerator()
+ * @model
+ * @generated
+ * @since 1.0
+ */
+public interface DawnFragmentGenerator extends EObject
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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 -->
+ * <p>
+ * If the meaning of the '<em>Fragment Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Fragment Name</em>' attribute.
+ * @see #setFragmentName(String)
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnFragmentGenerator_FragmentName()
+ * @model
+ * @generated
+ */
+ String getFragmentName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getFragmentName
+ * <em>Fragment Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Fragment Name</em>' attribute.
+ * @see #getFragmentName()
+ * @generated
+ */
+ void setFragmentName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Dawn Editor Class Name</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dawn Editor Class Name</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Dawn Editor Class Name</em>' attribute.
+ * @see #setDawnEditorClassName(String)
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnFragmentGenerator_DawnEditorClassName()
+ * @model
+ * @generated
+ */
+ String getDawnEditorClassName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getDawnEditorClassName
+ * <em>Dawn Editor Class Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Dawn Editor Class Name</em>' attribute.
+ * @see #getDawnEditorClassName()
+ * @generated
+ */
+ void setDawnEditorClassName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Emf Gen Model</b></em>' reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Emf Gen Model</em>' reference isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Emf Gen Model</em>' reference.
+ * @see #setEmfGenModel(GenModel)
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnFragmentGenerator_EmfGenModel()
+ * @model
+ * @generated
+ */
+ GenModel getEmfGenModel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getEmfGenModel
+ * <em>Emf Gen Model</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Emf Gen Model</em>' reference.
+ * @see #getEmfGenModel()
+ * @generated
+ */
+ void setEmfGenModel(GenModel value);
+
+} // DawnFragmentGenerator
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 d41f93526d..6a2db52b2f 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
@@ -10,8 +10,6 @@
*/
package org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;
-import org.eclipse.emf.ecore.EObject;
-
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
/**
@@ -48,7 +46,7 @@ import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
* @model
* @generated
*/
-public interface DawnGMFGenerator extends EObject
+public interface DawnGMFGenerator extends DawnFragmentGenerator
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
@@ -58,61 +56,6 @@ public interface DawnGMFGenerator extends EObject
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 -->
- * <p>
- * If the meaning of the '<em>Fragment Name</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Fragment Name</em>' attribute.
- * @see #setFragmentName(String)
- * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnGMFGenerator_FragmentName()
- * @model
- * @generated
- */
- String getFragmentName();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator#getFragmentName
- * <em>Fragment Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Fragment Name</em>' attribute.
- * @see #getFragmentName()
- * @generated
- */
- void setFragmentName(String value);
-
- /**
- * Returns the value of the '<em><b>Dawn Editor Class Name</b></em>' attribute. <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Dawn Editor Class Name</em>' attribute isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Dawn Editor Class Name</em>' attribute.
- * @see #setDawnEditorClassName(String)
- * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnGMFGenerator_DawnEditorClassName()
- * @model
- * @generated
- */
- String getDawnEditorClassName();
-
- /**
- * Sets the value of the '
- * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator#getDawnEditorClassName
- * <em>Dawn Editor Class Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Dawn Editor Class Name</em>' attribute.
- * @see #getDawnEditorClassName()
- * @generated
- */
- void setDawnEditorClassName(String value);
-
- /**
* Returns the value of the '<em><b>Dawn Document Provider Class Name</b></em>' attribute. <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Dawn Document Provider Class Name</em>' attribute isn't clear, there really should be
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGenerator.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGenerator.java
new file mode 100644
index 0000000000..1c1d9b1065
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/DawnGenerator.java
@@ -0,0 +1,95 @@
+/**
+ * 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.codegen.dawngenmodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Dawn Generator</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator#getEmfFragmentgenerator <em>Emf
+ * Fragmentgenerator</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator#getGmfFragmentgenerator <em>Gmf
+ * Fragmentgenerator</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnGenerator()
+ * @model
+ * @generated
+ * @since 1.0
+ */
+public interface DawnGenerator extends EObject
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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>Emf Fragmentgenerator</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Emf Fragmentgenerator</em>' containment reference isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Emf Fragmentgenerator</em>' containment reference.
+ * @see #setEmfFragmentgenerator(DawnEMFGenerator)
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnGenerator_EmfFragmentgenerator()
+ * @model containment="true"
+ * @generated
+ */
+ DawnEMFGenerator getEmfFragmentgenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator#getEmfFragmentgenerator
+ * <em>Emf Fragmentgenerator</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Emf Fragmentgenerator</em>' containment reference.
+ * @see #getEmfFragmentgenerator()
+ * @generated
+ */
+ void setEmfFragmentgenerator(DawnEMFGenerator value);
+
+ /**
+ * Returns the value of the '<em><b>Gmf Fragmentgenerator</b></em>' containment reference. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Gmf Fragmentgenerator</em>' containment reference isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Gmf Fragmentgenerator</em>' containment reference.
+ * @see #setGmfFragmentgenerator(DawnGMFGenerator)
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage#getDawnGenerator_GmfFragmentgenerator()
+ * @model containment="true"
+ * @generated
+ */
+ DawnGMFGenerator getGmfFragmentgenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator#getGmfFragmentgenerator
+ * <em>Gmf Fragmentgenerator</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Gmf Fragmentgenerator</em>' containment reference.
+ * @see #getGmfFragmentgenerator()
+ * @generated
+ */
+ void setGmfFragmentgenerator(DawnGMFGenerator value);
+
+} // DawnGenerator
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 1c11e8f4ac..82a846ae4c 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
@@ -36,6 +36,24 @@ public interface DawngenmodelFactory extends EFactory
DawngenmodelFactory eINSTANCE = org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelFactoryImpl.init();
/**
+ * Returns a new object of class '<em>Dawn Generator</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Dawn Generator</em>'.
+ * @generated
+ * @since 1.0
+ */
+ DawnGenerator createDawnGenerator();
+
+ /**
+ * Returns a new object of class '<em>Dawn Fragment Generator</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Dawn Fragment Generator</em>'.
+ * @generated
+ * @since 1.0
+ */
+ DawnFragmentGenerator createDawnFragmentGenerator();
+
+ /**
* Returns a new object of class '<em>Dawn GMF Generator</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return a new object of class '<em>Dawn GMF Generator</em>'.
@@ -44,6 +62,15 @@ public interface DawngenmodelFactory extends EFactory
DawnGMFGenerator createDawnGMFGenerator();
/**
+ * Returns a new object of class '<em>Dawn EMF Generator</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Dawn EMF Generator</em>'.
+ * @generated
+ * @since 1.0
+ */
+ DawnEMFGenerator createDawnEMFGenerator();
+
+ /**
* Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the package supported by this factory.
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 9c42f157f1..ad1e47636f 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
@@ -67,6 +67,96 @@ public interface DawngenmodelPackage extends EPackage
DawngenmodelPackage eINSTANCE = org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl.init();
/**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGeneratorImpl
+ * <em>Dawn Generator</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGeneratorImpl
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl#getDawnGenerator()
+ * @generated
+ * @since 1.0
+ */
+ int DAWN_GENERATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Emf Fragmentgenerator</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_GENERATOR__EMF_FRAGMENTGENERATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Gmf Fragmentgenerator</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_GENERATOR__GMF_FRAGMENTGENERATOR = 1;
+
+ /**
+ * The number of structural features of the '<em>Dawn Generator</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_GENERATOR_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnFragmentGeneratorImpl
+ * <em>Dawn Fragment Generator</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnFragmentGeneratorImpl
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl#getDawnFragmentGenerator()
+ * @generated
+ * @since 1.0
+ */
+ int DAWN_FRAGMENT_GENERATOR = 1;
+
+ /**
+ * The feature id for the '<em><b>Fragment Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Dawn Editor Class Name</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Emf Gen Model</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL = 2;
+
+ /**
+ * The number of structural features of the '<em>Dawn Fragment Generator</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT = 3;
+
+ /**
* The meta object id for the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGMFGeneratorImpl
* <em>Dawn GMF Generator</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -74,7 +164,7 @@ public interface DawngenmodelPackage extends EPackage
* @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl#getDawnGMFGenerator()
* @generated
*/
- int DAWN_GMF_GENERATOR = 0;
+ int DAWN_GMF_GENERATOR = 2;
/**
* The feature id for the '<em><b>Fragment Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
@@ -82,7 +172,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__FRAGMENT_NAME = 0;
+ int DAWN_GMF_GENERATOR__FRAGMENT_NAME = DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME;
/**
* The feature id for the '<em><b>Dawn Editor Class Name</b></em>' attribute. <!-- begin-user-doc --> <!--
@@ -91,7 +181,16 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME = 1;
+ int DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME = DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME;
+
+ /**
+ * The feature id for the '<em><b>Emf Gen Model</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_GMF_GENERATOR__EMF_GEN_MODEL = DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL;
/**
* The feature id for the '<em><b>Dawn Document Provider Class Name</b></em>' attribute. <!-- begin-user-doc --> <!--
@@ -100,7 +199,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME = 2;
+ int DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Dawn Editor Util Class Name</b></em>' attribute. <!-- begin-user-doc --> <!--
@@ -109,7 +208,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__DAWN_EDITOR_UTIL_CLASS_NAME = 3;
+ int DAWN_GMF_GENERATOR__DAWN_EDITOR_UTIL_CLASS_NAME = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Dawn Creation Wizard Class Name</b></em>' attribute. <!-- begin-user-doc --> <!--
@@ -118,7 +217,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__DAWN_CREATION_WIZARD_CLASS_NAME = 4;
+ int DAWN_GMF_GENERATOR__DAWN_CREATION_WIZARD_CLASS_NAME = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 2;
/**
* The feature id for the '<em><b>Dawn Canonical Editing Policy Class Name</b></em>' attribute. <!-- begin-user-doc
@@ -127,7 +226,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__DAWN_CANONICAL_EDITING_POLICY_CLASS_NAME = 5;
+ int DAWN_GMF_GENERATOR__DAWN_CANONICAL_EDITING_POLICY_CLASS_NAME = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Dawn Diagram Edit Part Class Name</b></em>' attribute. <!-- begin-user-doc --> <!--
@@ -136,7 +235,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__DAWN_DIAGRAM_EDIT_PART_CLASS_NAME = 6;
+ int DAWN_GMF_GENERATOR__DAWN_DIAGRAM_EDIT_PART_CLASS_NAME = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 4;
/**
* The feature id for the '<em><b>Dawn Edit Part Factory Class Name</b></em>' attribute. <!-- begin-user-doc --> <!--
@@ -145,7 +244,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__DAWN_EDIT_PART_FACTORY_CLASS_NAME = 7;
+ int DAWN_GMF_GENERATOR__DAWN_EDIT_PART_FACTORY_CLASS_NAME = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 5;
/**
* The feature id for the '<em><b>Dawn Edit Part Provider Class Name</b></em>' attribute. <!-- begin-user-doc --> <!--
@@ -154,7 +253,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__DAWN_EDIT_PART_PROVIDER_CLASS_NAME = 8;
+ int DAWN_GMF_GENERATOR__DAWN_EDIT_PART_PROVIDER_CLASS_NAME = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 6;
/**
* The feature id for the '<em><b>Dawn Edit Policy Provider Class Name</b></em>' attribute. <!-- begin-user-doc -->
@@ -163,7 +262,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__DAWN_EDIT_POLICY_PROVIDER_CLASS_NAME = 9;
+ int DAWN_GMF_GENERATOR__DAWN_EDIT_POLICY_PROVIDER_CLASS_NAME = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 7;
/**
* The feature id for the '<em><b>GMF Gen Editor Generator</b></em>' reference. <!-- begin-user-doc --> <!--
@@ -172,7 +271,7 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR__GMF_GEN_EDITOR_GENERATOR = 10;
+ int DAWN_GMF_GENERATOR__GMF_GEN_EDITOR_GENERATOR = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 8;
/**
* The number of structural features of the '<em>Dawn GMF Generator</em>' class. <!-- begin-user-doc --> <!--
@@ -181,41 +280,153 @@ public interface DawngenmodelPackage extends EPackage
* @generated
* @ordered
*/
- int DAWN_GMF_GENERATOR_FEATURE_COUNT = 11;
+ int DAWN_GMF_GENERATOR_FEATURE_COUNT = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 9;
/**
- * Returns the meta object for class '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator
- * <em>Dawn GMF Generator</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * The meta object id for the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnEMFGeneratorImpl
+ * <em>Dawn EMF Generator</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @return the meta object for class '<em>Dawn GMF Generator</em>'.
- * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnEMFGeneratorImpl
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl#getDawnEMFGenerator()
* @generated
+ * @since 1.0
*/
- EClass getDawnGMFGenerator();
+ int DAWN_EMF_GENERATOR = 3;
+
+ /**
+ * The feature id for the '<em><b>Fragment Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_EMF_GENERATOR__FRAGMENT_NAME = DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Dawn Editor Class Name</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_EMF_GENERATOR__DAWN_EDITOR_CLASS_NAME = DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME;
+
+ /**
+ * The feature id for the '<em><b>Emf Gen Model</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_EMF_GENERATOR__EMF_GEN_MODEL = DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL;
+
+ /**
+ * The number of structural features of the '<em>Dawn EMF Generator</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ * @since 1.0
+ */
+ int DAWN_EMF_GENERATOR_FEATURE_COUNT = DAWN_FRAGMENT_GENERATOR_FEATURE_COUNT + 0;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator
+ * <em>Dawn Generator</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Dawn Generator</em>'.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator
+ * @generated
+ * @since 1.0
+ */
+ EClass getDawnGenerator();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator#getEmfFragmentgenerator
+ * <em>Emf Fragmentgenerator</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Emf Fragmentgenerator</em>'.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator#getEmfFragmentgenerator()
+ * @see #getDawnGenerator()
+ * @generated
+ * @since 1.0
+ */
+ EReference getDawnGenerator_EmfFragmentgenerator();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator#getGmfFragmentgenerator
+ * <em>Gmf Fragmentgenerator</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Gmf Fragmentgenerator</em>'.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator#getGmfFragmentgenerator()
+ * @see #getDawnGenerator()
+ * @generated
+ * @since 1.0
+ */
+ EReference getDawnGenerator_GmfFragmentgenerator();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator
+ * <em>Dawn Fragment Generator</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Dawn Fragment Generator</em>'.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator
+ * @generated
+ * @since 1.0
+ */
+ EClass getDawnFragmentGenerator();
/**
* Returns the meta object for the attribute '
- * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator#getFragmentName <em>Fragment Name</em>}'.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getFragmentName <em>Fragment Name</em>}
+ * '. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for the attribute '<em>Fragment Name</em>'.
- * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator#getFragmentName()
- * @see #getDawnGMFGenerator()
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getFragmentName()
+ * @see #getDawnFragmentGenerator()
* @generated
+ * @since 1.0
*/
- EAttribute getDawnGMFGenerator_FragmentName();
+ EAttribute getDawnFragmentGenerator_FragmentName();
/**
* Returns the meta object for the attribute '
- * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator#getDawnEditorClassName
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getDawnEditorClassName
* <em>Dawn Editor Class Name</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for the attribute '<em>Dawn Editor Class Name</em>'.
- * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator#getDawnEditorClassName()
- * @see #getDawnGMFGenerator()
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getDawnEditorClassName()
+ * @see #getDawnFragmentGenerator()
+ * @generated
+ * @since 1.0
+ */
+ EAttribute getDawnFragmentGenerator_DawnEditorClassName();
+
+ /**
+ * Returns the meta object for the reference '
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getEmfGenModel <em>Emf Gen Model</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Emf Gen Model</em>'.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator#getEmfGenModel()
+ * @see #getDawnFragmentGenerator()
* @generated
+ * @since 1.0
*/
- EAttribute getDawnGMFGenerator_DawnEditorClassName();
+ EReference getDawnFragmentGenerator_EmfGenModel();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator
+ * <em>Dawn GMF Generator</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Dawn GMF Generator</em>'.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator
+ * @generated
+ */
+ EClass getDawnGMFGenerator();
/**
* Returns the meta object for the attribute '
@@ -326,6 +537,17 @@ public interface DawngenmodelPackage extends EPackage
EReference getDawnGMFGenerator_GMFGenEditorGenerator();
/**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator
+ * <em>Dawn EMF Generator</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Dawn EMF Generator</em>'.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator
+ * @generated
+ * @since 1.0
+ */
+ EClass getDawnEMFGenerator();
+
+ /**
* Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the factory that creates the instances of the model.
@@ -348,30 +570,83 @@ public interface DawngenmodelPackage extends EPackage
interface Literals
{
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGMFGeneratorImpl
- * <em>Dawn GMF Generator</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGeneratorImpl
+ * <em>Dawn Generator</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGMFGeneratorImpl
- * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl#getDawnGMFGenerator()
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGeneratorImpl
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl#getDawnGenerator()
* @generated
+ * @since 1.0
*/
- EClass DAWN_GMF_GENERATOR = eINSTANCE.getDawnGMFGenerator();
+ EClass DAWN_GENERATOR = eINSTANCE.getDawnGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Emf Fragmentgenerator</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @since 1.0
+ */
+ EReference DAWN_GENERATOR__EMF_FRAGMENTGENERATOR = eINSTANCE.getDawnGenerator_EmfFragmentgenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Gmf Fragmentgenerator</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @since 1.0
+ */
+ EReference DAWN_GENERATOR__GMF_FRAGMENTGENERATOR = eINSTANCE.getDawnGenerator_GmfFragmentgenerator();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnFragmentGeneratorImpl
+ * <em>Dawn Fragment Generator</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnFragmentGeneratorImpl
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl#getDawnFragmentGenerator()
+ * @generated
+ * @since 1.0
+ */
+ EClass DAWN_FRAGMENT_GENERATOR = eINSTANCE.getDawnFragmentGenerator();
/**
* The meta object literal for the '<em><b>Fragment Name</b></em>' attribute feature. <!-- begin-user-doc --> <!--
* end-user-doc -->
*
* @generated
+ * @since 1.0
*/
- EAttribute DAWN_GMF_GENERATOR__FRAGMENT_NAME = eINSTANCE.getDawnGMFGenerator_FragmentName();
+ EAttribute DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME = eINSTANCE.getDawnFragmentGenerator_FragmentName();
/**
* The meta object literal for the '<em><b>Dawn Editor Class Name</b></em>' attribute feature. <!-- begin-user-doc
* --> <!-- end-user-doc -->
*
* @generated
+ * @since 1.0
+ */
+ EAttribute DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME = eINSTANCE
+ .getDawnFragmentGenerator_DawnEditorClassName();
+
+ /**
+ * The meta object literal for the '<em><b>Emf Gen Model</b></em>' reference feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @since 1.0
*/
- EAttribute DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME = eINSTANCE.getDawnGMFGenerator_DawnEditorClassName();
+ EReference DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL = eINSTANCE.getDawnFragmentGenerator_EmfGenModel();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGMFGeneratorImpl
+ * <em>Dawn GMF Generator</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGMFGeneratorImpl
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl#getDawnGMFGenerator()
+ * @generated
+ */
+ EClass DAWN_GMF_GENERATOR = eINSTANCE.getDawnGMFGenerator();
/**
* The meta object literal for the '<em><b>Dawn Document Provider Class Name</b></em>' attribute feature. <!--
@@ -453,6 +728,17 @@ public interface DawngenmodelPackage extends EPackage
*/
EReference DAWN_GMF_GENERATOR__GMF_GEN_EDITOR_GENERATOR = eINSTANCE.getDawnGMFGenerator_GMFGenEditorGenerator();
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnEMFGeneratorImpl
+ * <em>Dawn EMF Generator</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnEMFGeneratorImpl
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawngenmodelPackageImpl#getDawnEMFGenerator()
+ * @generated
+ * @since 1.0
+ */
+ EClass DAWN_EMF_GENERATOR = eINSTANCE.getDawnEMFGenerator();
+
}
} // DawngenmodelPackage
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnEMFGeneratorImpl.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnEMFGeneratorImpl.java
new file mode 100644
index 0000000000..ef9b68391c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnEMFGeneratorImpl.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.codegen.dawngenmodel.impl;
+
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Dawn EMF Generator</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ * @since 1.0
+ */
+public class DawnEMFGeneratorImpl extends DawnFragmentGeneratorImpl implements DawnEMFGenerator
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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 -->
+ *
+ * @generated
+ */
+ protected DawnEMFGeneratorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return DawngenmodelPackage.Literals.DAWN_EMF_GENERATOR;
+ }
+
+} // DawnEMFGeneratorImpl
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnFragmentGeneratorImpl.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnFragmentGeneratorImpl.java
new file mode 100644
index 0000000000..0e9f4f61d4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnFragmentGeneratorImpl.java
@@ -0,0 +1,323 @@
+/**
+ * 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.codegen.dawngenmodel.impl;
+
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
+
+import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Dawn Fragment Generator</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnFragmentGeneratorImpl#getFragmentName <em>Fragment
+ * Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnFragmentGeneratorImpl#getDawnEditorClassName <em>
+ * Dawn Editor Class Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnFragmentGeneratorImpl#getEmfGenModel <em>Emf Gen
+ * Model</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DawnFragmentGeneratorImpl extends EObjectImpl implements DawnFragmentGenerator
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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 -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFragmentName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FRAGMENT_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFragmentName() <em>Fragment Name</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getFragmentName()
+ * @generated
+ * @ordered
+ */
+ protected String fragmentName = FRAGMENT_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDawnEditorClassName() <em>Dawn Editor Class Name</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDawnEditorClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String DAWN_EDITOR_CLASS_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDawnEditorClassName() <em>Dawn Editor Class Name</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDawnEditorClassName()
+ * @generated
+ * @ordered
+ */
+ protected String dawnEditorClassName = DAWN_EDITOR_CLASS_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getEmfGenModel() <em>Emf Gen Model</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getEmfGenModel()
+ * @generated
+ * @ordered
+ */
+ protected GenModel emfGenModel;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DawnFragmentGeneratorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return DawngenmodelPackage.Literals.DAWN_FRAGMENT_GENERATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getFragmentName()
+ {
+ return fragmentName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFragmentName(String newFragmentName)
+ {
+ String oldFragmentName = fragmentName;
+ fragmentName = newFragmentName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME,
+ oldFragmentName, fragmentName));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDawnEditorClassName()
+ {
+ return dawnEditorClassName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDawnEditorClassName(String newDawnEditorClassName)
+ {
+ String oldDawnEditorClassName = dawnEditorClassName;
+ dawnEditorClassName = newDawnEditorClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME, oldDawnEditorClassName,
+ dawnEditorClassName));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public GenModel getEmfGenModel()
+ {
+ if (emfGenModel != null && emfGenModel.eIsProxy())
+ {
+ InternalEObject oldEmfGenModel = (InternalEObject)emfGenModel;
+ emfGenModel = (GenModel)eResolveProxy(oldEmfGenModel);
+ if (emfGenModel != oldEmfGenModel)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL, oldEmfGenModel, emfGenModel));
+ }
+ }
+ return emfGenModel;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public GenModel basicGetEmfGenModel()
+ {
+ return emfGenModel;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEmfGenModel(GenModel newEmfGenModel)
+ {
+ GenModel oldEmfGenModel = emfGenModel;
+ emfGenModel = newEmfGenModel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL,
+ oldEmfGenModel, emfGenModel));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME:
+ return getFragmentName();
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME:
+ return getDawnEditorClassName();
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL:
+ if (resolve)
+ return getEmfGenModel();
+ return basicGetEmfGenModel();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME:
+ setFragmentName((String)newValue);
+ return;
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME:
+ setDawnEditorClassName((String)newValue);
+ return;
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL:
+ setEmfGenModel((GenModel)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME:
+ setFragmentName(FRAGMENT_NAME_EDEFAULT);
+ return;
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME:
+ setDawnEditorClassName(DAWN_EDITOR_CLASS_NAME_EDEFAULT);
+ return;
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL:
+ setEmfGenModel((GenModel)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME:
+ return FRAGMENT_NAME_EDEFAULT == null ? fragmentName != null : !FRAGMENT_NAME_EDEFAULT.equals(fragmentName);
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME:
+ return DAWN_EDITOR_CLASS_NAME_EDEFAULT == null ? dawnEditorClassName != null : !DAWN_EDITOR_CLASS_NAME_EDEFAULT
+ .equals(dawnEditorClassName);
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL:
+ return emfGenModel != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (fragmentName: ");
+ result.append(fragmentName);
+ result.append(", dawnEditorClassName: ");
+ result.append(dawnEditorClassName);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DawnFragmentGeneratorImpl
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 80aa9e2f30..6dbe5be0a6 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
@@ -17,7 +17,6 @@ import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
@@ -56,7 +55,7 @@ import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
*
* @generated
*/
-public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerator
+public class DawnGMFGeneratorImpl extends DawnFragmentGeneratorImpl implements DawnGMFGenerator
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
@@ -66,46 +65,6 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
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 -->
- * <!-- end-user-doc -->
- *
- * @see #getFragmentName()
- * @generated
- * @ordered
- */
- protected static final String FRAGMENT_NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getFragmentName() <em>Fragment Name</em>}' attribute. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @see #getFragmentName()
- * @generated
- * @ordered
- */
- protected String fragmentName = FRAGMENT_NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #getDawnEditorClassName() <em>Dawn Editor Class Name</em>}' attribute. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getDawnEditorClassName()
- * @generated
- * @ordered
- */
- protected static final String DAWN_EDITOR_CLASS_NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getDawnEditorClassName() <em>Dawn Editor Class Name</em>}' attribute. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getDawnEditorClassName()
- * @generated
- * @ordered
- */
- protected String dawnEditorClassName = DAWN_EDITOR_CLASS_NAME_EDEFAULT;
-
- /**
* The default value of the '{@link #getDawnDocumentProviderClassName() <em>Dawn Document Provider Class Name</em>}'
* attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -301,58 +260,6 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
*
* @generated
*/
- public String getFragmentName()
- {
- return fragmentName;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setFragmentName(String newFragmentName)
- {
- String oldFragmentName = fragmentName;
- fragmentName = newFragmentName;
- if (eNotificationRequired())
- {
- eNotify(new ENotificationImpl(this, Notification.SET, DawngenmodelPackage.DAWN_GMF_GENERATOR__FRAGMENT_NAME,
- oldFragmentName, fragmentName));
- }
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public String getDawnEditorClassName()
- {
- return dawnEditorClassName;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setDawnEditorClassName(String newDawnEditorClassName)
- {
- String oldDawnEditorClassName = dawnEditorClassName;
- dawnEditorClassName = newDawnEditorClassName;
- if (eNotificationRequired())
- {
- eNotify(new ENotificationImpl(this, Notification.SET,
- DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME, oldDawnEditorClassName, dawnEditorClassName));
- }
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
public String getDawnDocumentProviderClassName()
{
return dawnDocumentProviderClassName;
@@ -368,11 +275,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
String oldDawnDocumentProviderClassName = dawnDocumentProviderClassName;
dawnDocumentProviderClassName = newDawnDocumentProviderClassName;
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.SET,
DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME, oldDawnDocumentProviderClassName,
dawnDocumentProviderClassName));
- }
}
/**
@@ -395,11 +300,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
String oldDawnEditorUtilClassName = dawnEditorUtilClassName;
dawnEditorUtilClassName = newDawnEditorUtilClassName;
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.SET,
DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDITOR_UTIL_CLASS_NAME, oldDawnEditorUtilClassName,
dawnEditorUtilClassName));
- }
}
/**
@@ -422,11 +325,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
String oldDawnCreationWizardClassName = dawnCreationWizardClassName;
dawnCreationWizardClassName = newDawnCreationWizardClassName;
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.SET,
DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_CREATION_WIZARD_CLASS_NAME, oldDawnCreationWizardClassName,
dawnCreationWizardClassName));
- }
}
/**
@@ -449,11 +350,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
String oldDawnCanonicalEditingPolicyClassName = dawnCanonicalEditingPolicyClassName;
dawnCanonicalEditingPolicyClassName = newDawnCanonicalEditingPolicyClassName;
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.SET,
DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_CANONICAL_EDITING_POLICY_CLASS_NAME,
oldDawnCanonicalEditingPolicyClassName, dawnCanonicalEditingPolicyClassName));
- }
}
/**
@@ -476,11 +375,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
String oldDawnDiagramEditPartClassName = dawnDiagramEditPartClassName;
dawnDiagramEditPartClassName = newDawnDiagramEditPartClassName;
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.SET,
DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_DIAGRAM_EDIT_PART_CLASS_NAME, oldDawnDiagramEditPartClassName,
dawnDiagramEditPartClassName));
- }
}
/**
@@ -503,11 +400,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
String oldDawnEditPartFactoryClassName = dawnEditPartFactoryClassName;
dawnEditPartFactoryClassName = newDawnEditPartFactoryClassName;
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.SET,
DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDIT_PART_FACTORY_CLASS_NAME, oldDawnEditPartFactoryClassName,
dawnEditPartFactoryClassName));
- }
}
/**
@@ -530,11 +425,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
String oldDawnEditPartProviderClassName = dawnEditPartProviderClassName;
dawnEditPartProviderClassName = newDawnEditPartProviderClassName;
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.SET,
DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDIT_PART_PROVIDER_CLASS_NAME, oldDawnEditPartProviderClassName,
dawnEditPartProviderClassName));
- }
}
/**
@@ -557,11 +450,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
String oldDawnEditPolicyProviderClassName = dawnEditPolicyProviderClassName;
dawnEditPolicyProviderClassName = newDawnEditPolicyProviderClassName;
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.SET,
DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDIT_POLICY_PROVIDER_CLASS_NAME,
oldDawnEditPolicyProviderClassName, dawnEditPolicyProviderClassName));
- }
}
/**
@@ -578,11 +469,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
if (gmfGenEditorGenerator != oldGMFGenEditorGenerator)
{
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.RESOLVE,
DawngenmodelPackage.DAWN_GMF_GENERATOR__GMF_GEN_EDITOR_GENERATOR, oldGMFGenEditorGenerator,
gmfGenEditorGenerator));
- }
}
}
return gmfGenEditorGenerator;
@@ -608,11 +497,9 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
GenEditorGenerator oldGMFGenEditorGenerator = gmfGenEditorGenerator;
gmfGenEditorGenerator = newGMFGenEditorGenerator;
if (eNotificationRequired())
- {
eNotify(new ENotificationImpl(this, Notification.SET,
DawngenmodelPackage.DAWN_GMF_GENERATOR__GMF_GEN_EDITOR_GENERATOR, oldGMFGenEditorGenerator,
gmfGenEditorGenerator));
- }
}
/**
@@ -625,10 +512,6 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
{
switch (featureID)
{
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__FRAGMENT_NAME:
- return getFragmentName();
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME:
- return getDawnEditorClassName();
case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME:
return getDawnDocumentProviderClassName();
case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDITOR_UTIL_CLASS_NAME:
@@ -647,9 +530,7 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
return getDawnEditPolicyProviderClassName();
case DawngenmodelPackage.DAWN_GMF_GENERATOR__GMF_GEN_EDITOR_GENERATOR:
if (resolve)
- {
return getGMFGenEditorGenerator();
- }
return basicGetGMFGenEditorGenerator();
}
return super.eGet(featureID, resolve, coreType);
@@ -665,12 +546,6 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
{
switch (featureID)
{
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__FRAGMENT_NAME:
- setFragmentName((String)newValue);
- return;
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME:
- setDawnEditorClassName((String)newValue);
- return;
case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME:
setDawnDocumentProviderClassName((String)newValue);
return;
@@ -712,12 +587,6 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
{
switch (featureID)
{
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__FRAGMENT_NAME:
- setFragmentName(FRAGMENT_NAME_EDEFAULT);
- return;
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME:
- setDawnEditorClassName(DAWN_EDITOR_CLASS_NAME_EDEFAULT);
- return;
case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME:
setDawnDocumentProviderClassName(DAWN_DOCUMENT_PROVIDER_CLASS_NAME_EDEFAULT);
return;
@@ -759,11 +628,6 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
{
switch (featureID)
{
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__FRAGMENT_NAME:
- return FRAGMENT_NAME_EDEFAULT == null ? fragmentName != null : !FRAGMENT_NAME_EDEFAULT.equals(fragmentName);
- case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME:
- return DAWN_EDITOR_CLASS_NAME_EDEFAULT == null ? dawnEditorClassName != null : !DAWN_EDITOR_CLASS_NAME_EDEFAULT
- .equals(dawnEditorClassName);
case DawngenmodelPackage.DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME:
return DAWN_DOCUMENT_PROVIDER_CLASS_NAME_EDEFAULT == null ? dawnDocumentProviderClassName != null
: !DAWN_DOCUMENT_PROVIDER_CLASS_NAME_EDEFAULT.equals(dawnDocumentProviderClassName);
@@ -803,16 +667,10 @@ public class DawnGMFGeneratorImpl extends EObjectImpl implements DawnGMFGenerato
public String toString()
{
if (eIsProxy())
- {
return super.toString();
- }
StringBuffer result = new StringBuffer(super.toString());
- result.append(" (fragmentName: ");
- result.append(fragmentName);
- result.append(", dawnEditorClassName: ");
- result.append(dawnEditorClassName);
- result.append(", dawnDocumentProviderClassName: ");
+ result.append(" (dawnDocumentProviderClassName: ");
result.append(dawnDocumentProviderClassName);
result.append(", dawnEditorUtilClassName: ");
result.append(dawnEditorUtilClassName);
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGeneratorImpl.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGeneratorImpl.java
new file mode 100644
index 0000000000..91099be7ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/src/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/impl/DawnGeneratorImpl.java
@@ -0,0 +1,319 @@
+/**
+ * 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.codegen.dawngenmodel.impl;
+
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Dawn Generator</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGeneratorImpl#getEmfFragmentgenerator <em>Emf
+ * Fragmentgenerator</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl.DawnGeneratorImpl#getGmfFragmentgenerator <em>Gmf
+ * Fragmentgenerator</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DawnGeneratorImpl extends EObjectImpl implements DawnGenerator
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ 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 value of the '{@link #getEmfFragmentgenerator() <em>Emf Fragmentgenerator</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEmfFragmentgenerator()
+ * @generated
+ * @ordered
+ */
+ protected DawnEMFGenerator emfFragmentgenerator;
+
+ /**
+ * The cached value of the '{@link #getGmfFragmentgenerator() <em>Gmf Fragmentgenerator</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGmfFragmentgenerator()
+ * @generated
+ * @ordered
+ */
+ protected DawnGMFGenerator gmfFragmentgenerator;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DawnGeneratorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return DawngenmodelPackage.Literals.DAWN_GENERATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DawnEMFGenerator getEmfFragmentgenerator()
+ {
+ return emfFragmentgenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetEmfFragmentgenerator(DawnEMFGenerator newEmfFragmentgenerator, NotificationChain msgs)
+ {
+ DawnEMFGenerator oldEmfFragmentgenerator = emfFragmentgenerator;
+ emfFragmentgenerator = newEmfFragmentgenerator;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR, oldEmfFragmentgenerator, newEmfFragmentgenerator);
+ if (msgs == null)
+ {
+ msgs = notification;
+ }
+ else
+ {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEmfFragmentgenerator(DawnEMFGenerator newEmfFragmentgenerator)
+ {
+ if (newEmfFragmentgenerator != emfFragmentgenerator)
+ {
+ NotificationChain msgs = null;
+ if (emfFragmentgenerator != null)
+ {
+ msgs = ((InternalEObject)emfFragmentgenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR, null, msgs);
+ }
+ if (newEmfFragmentgenerator != null)
+ {
+ msgs = ((InternalEObject)newEmfFragmentgenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR, null, msgs);
+ }
+ msgs = basicSetEmfFragmentgenerator(newEmfFragmentgenerator, msgs);
+ if (msgs != null)
+ {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired())
+ {
+ eNotify(new ENotificationImpl(this, Notification.SET, DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR,
+ newEmfFragmentgenerator, newEmfFragmentgenerator));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DawnGMFGenerator getGmfFragmentgenerator()
+ {
+ return gmfFragmentgenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetGmfFragmentgenerator(DawnGMFGenerator newGmfFragmentgenerator, NotificationChain msgs)
+ {
+ DawnGMFGenerator oldGmfFragmentgenerator = gmfFragmentgenerator;
+ gmfFragmentgenerator = newGmfFragmentgenerator;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR, oldGmfFragmentgenerator, newGmfFragmentgenerator);
+ if (msgs == null)
+ {
+ msgs = notification;
+ }
+ else
+ {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGmfFragmentgenerator(DawnGMFGenerator newGmfFragmentgenerator)
+ {
+ if (newGmfFragmentgenerator != gmfFragmentgenerator)
+ {
+ NotificationChain msgs = null;
+ if (gmfFragmentgenerator != null)
+ {
+ msgs = ((InternalEObject)gmfFragmentgenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR, null, msgs);
+ }
+ if (newGmfFragmentgenerator != null)
+ {
+ msgs = ((InternalEObject)newGmfFragmentgenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR, null, msgs);
+ }
+ msgs = basicSetGmfFragmentgenerator(newGmfFragmentgenerator, msgs);
+ if (msgs != null)
+ {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired())
+ {
+ eNotify(new ENotificationImpl(this, Notification.SET, DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR,
+ newGmfFragmentgenerator, newGmfFragmentgenerator));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR:
+ return basicSetEmfFragmentgenerator(null, msgs);
+ case DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR:
+ return basicSetGmfFragmentgenerator(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR:
+ return getEmfFragmentgenerator();
+ case DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR:
+ return getGmfFragmentgenerator();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR:
+ setEmfFragmentgenerator((DawnEMFGenerator)newValue);
+ return;
+ case DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR:
+ setGmfFragmentgenerator((DawnGMFGenerator)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR:
+ setEmfFragmentgenerator((DawnEMFGenerator)null);
+ return;
+ case DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR:
+ setGmfFragmentgenerator((DawnGMFGenerator)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case DawngenmodelPackage.DAWN_GENERATOR__EMF_FRAGMENTGENERATOR:
+ return emfFragmentgenerator != null;
+ case DawngenmodelPackage.DAWN_GENERATOR__GMF_FRAGMENTGENERATOR:
+ return gmfFragmentgenerator != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // DawnGeneratorImpl
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 7830fa725a..26e378e8c6 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
@@ -10,7 +10,10 @@
*/
package org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelFactory;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
@@ -77,8 +80,14 @@ public class DawngenmodelFactoryImpl extends EFactoryImpl implements Dawngenmode
{
switch (eClass.getClassifierID())
{
+ case DawngenmodelPackage.DAWN_GENERATOR:
+ return createDawnGenerator();
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR:
+ return createDawnFragmentGenerator();
case DawngenmodelPackage.DAWN_GMF_GENERATOR:
return createDawnGMFGenerator();
+ case DawngenmodelPackage.DAWN_EMF_GENERATOR:
+ return createDawnEMFGenerator();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -89,6 +98,28 @@ public class DawngenmodelFactoryImpl extends EFactoryImpl implements Dawngenmode
*
* @generated
*/
+ public DawnGenerator createDawnGenerator()
+ {
+ DawnGeneratorImpl dawnGenerator = new DawnGeneratorImpl();
+ return dawnGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DawnFragmentGenerator createDawnFragmentGenerator()
+ {
+ DawnFragmentGeneratorImpl dawnFragmentGenerator = new DawnFragmentGeneratorImpl();
+ return dawnFragmentGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
public DawnGMFGenerator createDawnGMFGenerator()
{
DawnGMFGeneratorImpl dawnGMFGenerator = new DawnGMFGeneratorImpl();
@@ -100,6 +131,17 @@ public class DawngenmodelFactoryImpl extends EFactoryImpl implements Dawngenmode
*
* @generated
*/
+ public DawnEMFGenerator createDawnEMFGenerator()
+ {
+ DawnEMFGeneratorImpl dawnEMFGenerator = new DawnEMFGeneratorImpl();
+ return dawnEMFGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
public DawngenmodelPackage getDawngenmodelPackage()
{
return (DawngenmodelPackage)getEPackage();
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 8a37303d6f..c9dffee967 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
@@ -10,10 +10,14 @@
*/
package org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.impl;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelFactory;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
+import org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
@@ -42,9 +46,30 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*
* @generated
*/
+ private EClass dawnGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass dawnFragmentGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
private EClass dawnGMFGeneratorEClass = null;
/**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass dawnEMFGeneratorEClass = null;
+
+ /**
* Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
* EPackage.Registry} by the package package URI value.
* <p>
@@ -84,14 +109,11 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
public static DawngenmodelPackage init()
{
if (isInited)
- {
return (DawngenmodelPackage)EPackage.Registry.INSTANCE.getEPackage(DawngenmodelPackage.eNS_URI);
- }
// Obtain or create and register package
DawngenmodelPackageImpl theDawngenmodelPackage = (DawngenmodelPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DawngenmodelPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new DawngenmodelPackageImpl());
+ .get(eNS_URI) : new DawngenmodelPackageImpl());
isInited = true;
@@ -117,9 +139,9 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*
* @generated
*/
- public EClass getDawnGMFGenerator()
+ public EClass getDawnGenerator()
{
- return dawnGMFGeneratorEClass;
+ return dawnGeneratorEClass;
}
/**
@@ -127,9 +149,9 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*
* @generated
*/
- public EAttribute getDawnGMFGenerator_FragmentName()
+ public EReference getDawnGenerator_EmfFragmentgenerator()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(0);
+ return (EReference)dawnGeneratorEClass.getEStructuralFeatures().get(0);
}
/**
@@ -137,9 +159,59 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*
* @generated
*/
- public EAttribute getDawnGMFGenerator_DawnEditorClassName()
+ public EReference getDawnGenerator_GmfFragmentgenerator()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(1);
+ return (EReference)dawnGeneratorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDawnFragmentGenerator()
+ {
+ return dawnFragmentGeneratorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getDawnFragmentGenerator_FragmentName()
+ {
+ return (EAttribute)dawnFragmentGeneratorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getDawnFragmentGenerator_DawnEditorClassName()
+ {
+ return (EAttribute)dawnFragmentGeneratorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDawnFragmentGenerator_EmfGenModel()
+ {
+ return (EReference)dawnFragmentGeneratorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDawnGMFGenerator()
+ {
+ return dawnGMFGeneratorEClass;
}
/**
@@ -149,7 +221,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*/
public EAttribute getDawnGMFGenerator_DawnDocumentProviderClassName()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(2);
+ return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(0);
}
/**
@@ -159,7 +231,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*/
public EAttribute getDawnGMFGenerator_DawnEditorUtilClassName()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(3);
+ return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(1);
}
/**
@@ -169,7 +241,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*/
public EAttribute getDawnGMFGenerator_DawnCreationWizardClassName()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(4);
+ return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(2);
}
/**
@@ -179,7 +251,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*/
public EAttribute getDawnGMFGenerator_DawnCanonicalEditingPolicyClassName()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(5);
+ return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(3);
}
/**
@@ -189,7 +261,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*/
public EAttribute getDawnGMFGenerator_DawnDiagramEditPartClassName()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(6);
+ return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(4);
}
/**
@@ -199,7 +271,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*/
public EAttribute getDawnGMFGenerator_DawnEditPartFactoryClassName()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(7);
+ return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(5);
}
/**
@@ -209,7 +281,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*/
public EAttribute getDawnGMFGenerator_DawnEditPartProviderClassName()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(8);
+ return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(6);
}
/**
@@ -219,7 +291,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*/
public EAttribute getDawnGMFGenerator_DawnEditPolicyProviderClassName()
{
- return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(9);
+ return (EAttribute)dawnGMFGeneratorEClass.getEStructuralFeatures().get(7);
}
/**
@@ -229,7 +301,17 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
*/
public EReference getDawnGMFGenerator_GMFGenEditorGenerator()
{
- return (EReference)dawnGMFGeneratorEClass.getEStructuralFeatures().get(10);
+ return (EReference)dawnGMFGeneratorEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDawnEMFGenerator()
+ {
+ return dawnEMFGeneratorEClass;
}
/**
@@ -258,15 +340,20 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
public void createPackageContents()
{
if (isCreated)
- {
return;
- }
isCreated = true;
// Create classes and their features
+ dawnGeneratorEClass = createEClass(DAWN_GENERATOR);
+ createEReference(dawnGeneratorEClass, DAWN_GENERATOR__EMF_FRAGMENTGENERATOR);
+ createEReference(dawnGeneratorEClass, DAWN_GENERATOR__GMF_FRAGMENTGENERATOR);
+
+ dawnFragmentGeneratorEClass = createEClass(DAWN_FRAGMENT_GENERATOR);
+ createEAttribute(dawnFragmentGeneratorEClass, DAWN_FRAGMENT_GENERATOR__FRAGMENT_NAME);
+ createEAttribute(dawnFragmentGeneratorEClass, DAWN_FRAGMENT_GENERATOR__DAWN_EDITOR_CLASS_NAME);
+ createEReference(dawnFragmentGeneratorEClass, DAWN_FRAGMENT_GENERATOR__EMF_GEN_MODEL);
+
dawnGMFGeneratorEClass = createEClass(DAWN_GMF_GENERATOR);
- createEAttribute(dawnGMFGeneratorEClass, DAWN_GMF_GENERATOR__FRAGMENT_NAME);
- createEAttribute(dawnGMFGeneratorEClass, DAWN_GMF_GENERATOR__DAWN_EDITOR_CLASS_NAME);
createEAttribute(dawnGMFGeneratorEClass, DAWN_GMF_GENERATOR__DAWN_DOCUMENT_PROVIDER_CLASS_NAME);
createEAttribute(dawnGMFGeneratorEClass, DAWN_GMF_GENERATOR__DAWN_EDITOR_UTIL_CLASS_NAME);
createEAttribute(dawnGMFGeneratorEClass, DAWN_GMF_GENERATOR__DAWN_CREATION_WIZARD_CLASS_NAME);
@@ -276,6 +363,8 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
createEAttribute(dawnGMFGeneratorEClass, DAWN_GMF_GENERATOR__DAWN_EDIT_PART_PROVIDER_CLASS_NAME);
createEAttribute(dawnGMFGeneratorEClass, DAWN_GMF_GENERATOR__DAWN_EDIT_POLICY_PROVIDER_CLASS_NAME);
createEReference(dawnGMFGeneratorEClass, DAWN_GMF_GENERATOR__GMF_GEN_EDITOR_GENERATOR);
+
+ dawnEMFGeneratorEClass = createEClass(DAWN_EMF_GENERATOR);
}
/**
@@ -294,9 +383,7 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
public void initializePackageContents()
{
if (isInitialized)
- {
return;
- }
isInitialized = true;
// Initialize package
@@ -306,6 +393,8 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
// Obtain other dependent packages
EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ GenModelPackage theGenModelPackage = (GenModelPackage)EPackage.Registry.INSTANCE
+ .getEPackage(GenModelPackage.eNS_URI);
GMFGenPackage theGMFGenPackage = (GMFGenPackage)EPackage.Registry.INSTANCE.getEPackage(GMFGenPackage.eNS_URI);
// Create type parameters
@@ -313,16 +402,33 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
// Set bounds for type parameters
// Add supertypes to classes
+ dawnGMFGeneratorEClass.getESuperTypes().add(this.getDawnFragmentGenerator());
+ dawnEMFGeneratorEClass.getESuperTypes().add(this.getDawnFragmentGenerator());
// Initialize classes and features; add operations and parameters
- initEClass(dawnGMFGeneratorEClass, DawnGMFGenerator.class, "DawnGMFGenerator", !IS_ABSTRACT, !IS_INTERFACE,
+ initEClass(dawnGeneratorEClass, DawnGenerator.class, "DawnGenerator", !IS_ABSTRACT, !IS_INTERFACE,
IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getDawnGMFGenerator_FragmentName(), theEcorePackage.getEString(), "fragmentName", null, 0, 1,
- DawnGMFGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ initEReference(getDawnGenerator_EmfFragmentgenerator(), this.getDawnEMFGenerator(), null, "emfFragmentgenerator",
+ null, 0, 1, DawnGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDawnGenerator_GmfFragmentgenerator(), this.getDawnGMFGenerator(), null, "gmfFragmentgenerator",
+ null, 0, 1, DawnGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(dawnFragmentGeneratorEClass, DawnFragmentGenerator.class, "DawnFragmentGenerator", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDawnFragmentGenerator_FragmentName(), theEcorePackage.getEString(), "fragmentName", null, 0, 1,
+ DawnFragmentGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
- initEAttribute(getDawnGMFGenerator_DawnEditorClassName(), theEcorePackage.getEString(), "dawnEditorClassName",
- null, 0, 1, DawnGMFGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ initEAttribute(getDawnFragmentGenerator_DawnEditorClassName(), theEcorePackage.getEString(), "dawnEditorClassName",
+ null, 0, 1, DawnFragmentGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDawnFragmentGenerator_EmfGenModel(), theGenModelPackage.getGenModel(), null, "emfGenModel", null,
+ 0, 1, DawnFragmentGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(dawnGMFGeneratorEClass, DawnGMFGenerator.class, "DawnGMFGenerator", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getDawnGMFGenerator_DawnDocumentProviderClassName(), theEcorePackage.getEString(),
"dawnDocumentProviderClassName", null, 0, 1, DawnGMFGenerator.class, !IS_TRANSIENT, !IS_VOLATILE,
IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -351,6 +457,9 @@ public class DawngenmodelPackageImpl extends EPackageImpl implements Dawngenmode
"GMFGenEditorGenerator", null, 0, 1, DawnGMFGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(dawnEMFGeneratorEClass, DawnEMFGenerator.class, "DawnEMFGenerator", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+
// Create resource
createResource(eNS_URI);
}
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 08abf7fbd2..e90648bf62 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
@@ -10,7 +10,10 @@
*/
package org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.util;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
import org.eclipse.emf.common.notify.Adapter;
@@ -84,12 +87,30 @@ public class DawngenmodelAdapterFactory extends AdapterFactoryImpl
protected DawngenmodelSwitch<Adapter> modelSwitch = new DawngenmodelSwitch<Adapter>()
{
@Override
+ public Adapter caseDawnGenerator(DawnGenerator object)
+ {
+ return createDawnGeneratorAdapter();
+ }
+
+ @Override
+ public Adapter caseDawnFragmentGenerator(DawnFragmentGenerator object)
+ {
+ return createDawnFragmentGeneratorAdapter();
+ }
+
+ @Override
public Adapter caseDawnGMFGenerator(DawnGMFGenerator object)
{
return createDawnGMFGeneratorAdapter();
}
@Override
+ public Adapter caseDawnEMFGenerator(DawnEMFGenerator object)
+ {
+ return createDawnEMFGeneratorAdapter();
+ }
+
+ @Override
public Adapter defaultCase(EObject object)
{
return createEObjectAdapter();
@@ -111,6 +132,36 @@ public class DawngenmodelAdapterFactory extends AdapterFactoryImpl
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator
+ * <em>Dawn Generator</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily
+ * ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator
+ * @generated
+ */
+ public Adapter createDawnGeneratorAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator <em>Dawn Fragment Generator</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
+ * ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator
+ * @generated
+ * @since 1.0
+ */
+ public Adapter createDawnFragmentGeneratorAdapter()
+ {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '
* {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator <em>Dawn GMF Generator</em>}'. <!--
* begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
@@ -126,6 +177,22 @@ public class DawngenmodelAdapterFactory extends AdapterFactoryImpl
}
/**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator <em>Dawn EMF Generator</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
+ * ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator
+ * @generated
+ * @since 1.0
+ */
+ public Adapter createDawnEMFGeneratorAdapter()
+ {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null. <!--
* 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 874ed018bd..4463e19c28 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
@@ -10,7 +10,10 @@
*/
package org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.util;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage;
import org.eclipse.emf.ecore.EClass;
@@ -96,12 +99,50 @@ public class DawngenmodelSwitch<T>
{
switch (classifierID)
{
+ case DawngenmodelPackage.DAWN_GENERATOR:
+ {
+ DawnGenerator dawnGenerator = (DawnGenerator)theEObject;
+ T result = caseDawnGenerator(dawnGenerator);
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DawngenmodelPackage.DAWN_FRAGMENT_GENERATOR:
+ {
+ DawnFragmentGenerator dawnFragmentGenerator = (DawnFragmentGenerator)theEObject;
+ T result = caseDawnFragmentGenerator(dawnFragmentGenerator);
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
case DawngenmodelPackage.DAWN_GMF_GENERATOR:
{
DawnGMFGenerator dawnGMFGenerator = (DawnGMFGenerator)theEObject;
T result = caseDawnGMFGenerator(dawnGMFGenerator);
if (result == null)
{
+ result = caseDawnFragmentGenerator(dawnGMFGenerator);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DawngenmodelPackage.DAWN_EMF_GENERATOR:
+ {
+ DawnEMFGenerator dawnEMFGenerator = (DawnEMFGenerator)theEObject;
+ T result = caseDawnEMFGenerator(dawnEMFGenerator);
+ if (result == null)
+ {
+ result = caseDawnFragmentGenerator(dawnEMFGenerator);
+ }
+ if (result == null)
+ {
result = defaultCase(theEObject);
}
return result;
@@ -112,6 +153,39 @@ public class DawngenmodelSwitch<T>
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Dawn Generator</em>'. <!-- begin-user-doc -->
+ * This implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Dawn Generator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ * @since 1.0
+ */
+ public T caseDawnGenerator(DawnGenerator object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Dawn Fragment Generator</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Dawn Fragment Generator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ * @since 1.0
+ */
+ public T caseDawnFragmentGenerator(DawnFragmentGenerator object)
+ {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Dawn GMF Generator</em>'. <!-- begin-user-doc
* --> This implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
*
@@ -127,6 +201,22 @@ public class DawngenmodelSwitch<T>
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Dawn EMF Generator</em>'. <!-- begin-user-doc
+ * --> This implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Dawn EMF Generator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ * @since 1.0
+ */
+ public T caseDawnEMFGenerator(DawnEMFGenerator object)
+ {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc --> This
* implementation returns null; returning a non-null result will terminate the switch, but this is the last case
* anyway. <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.codegen/META-INF/MANIFEST.MF
index dff9766558..fb883a6826 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.cdo.dawn.codegen;singleton:=true
-Bundle-Version: 0.2.100.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Activator: org.eclipse.emf.cdo.dawn.codegen.DawnCodeGenPlugin
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
@@ -25,16 +25,19 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.gmf.codegen;bundle-version="[2.2.0,3.0.0)",
org.eclipse.gmf.graphdef.codegen;bundle-version="[2.0.0,3.0.0)",
org.eclipse.gmf.validate;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;bundle-version="[0.2.0,1.0.0)"
+ org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;bundle-version="[1.0.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: metamodel;version="0.2.100";x-internal:=true,
- org.eclipse.emf.cdo.dawn.codegen;version="0.2.100",
- org.eclipse.emf.cdo.dawn.codegen.actions;version="0.2.100",
- org.eclipse.emf.cdo.dawn.codegen.creators;version="0.2.100",
- org.eclipse.emf.cdo.dawn.codegen.creators.impl;version="0.2.100",
- org.eclipse.emf.cdo.dawn.codegen.util;version="0.2.100",
- template;version="0.2.100";x-internal:=true,
- workflow;version="0.2.100";x-internal:=true
+Export-Package: metamodel;version="1.0.0";x-internal:=true,
+ org.eclipse.emf.cdo.dawn.codegen;version="1.0.0",
+ org.eclipse.emf.cdo.dawn.codegen.actions;version="1.0.0";x-internal:=true,
+ org.eclipse.emf.cdo.dawn.codegen.creators;version="1.0.0",
+ org.eclipse.emf.cdo.dawn.codegen.creators.impl;version="1.0.0",
+ org.eclipse.emf.cdo.dawn.codegen.messages;version="1.0.0";x-internal:=true,
+ org.eclipse.emf.cdo.dawn.codegen.util;version="1.0.0",
+ template;version="1.0.0";x-internal:=true,
+ workflow;version="1.0.0";x-internal:=true
Bundle-Localization: plugin
Bundle-Vendor: %providerName
+Import-Package: org.antlr.runtime;version="[3.0.0,4.0.0)",
+ org.apache.commons.logging;version="[1.0.0,2.0.0)"
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties
index 03d34d32eb..fc73ae833c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.properties
@@ -9,3 +9,6 @@
pluginName = CDO Dawn Codegen (Experimental)
providerName = Eclipse Modeling Project
+generate.emf.label = Generate Dawn EMF Fragment
+generate.gmf.label = Generate Dawn GMF Fragment
+generate.genmodel.label = Generate Dawn GenModel
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.xml b/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.xml
index eaca51fc91..e5bde9fe4a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.xml
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/plugin.xml
@@ -9,9 +9,14 @@
nameFilter="*.dawngenmodel"
objectClass="org.eclipse.core.resources.IFile">
<action
+ class="org.eclipse.emf.cdo.dawn.codegen.actions.GenerateEMFFragmentAction"
+ id="org.eclipse.emf.cdo.dawn.codegen.generateClientaction"
+ label="%generate.emf.label">
+ </action>
+ <action
class="org.eclipse.emf.cdo.dawn.codegen.actions.GenerateClientCodeAction"
id="org.eclipse.emf.cdo.dawn.codegen.generateClientaction"
- label="Generate Dawn GMF Fragment">
+ label="%generate.gmf.label">
</action>
</objectContribution>
<objectContribution
@@ -22,7 +27,18 @@
<action
class="org.eclipse.emf.cdo.dawn.codegen.actions.GenerateDawnGenModelAction"
id="org.eclipse.emf.cdo.dawn.codegen.dawngenmodelaction"
- label="Generate Dawn GenModel">
+ label="%generate.genmodel.label">
+ </action>
+ </objectContribution>
+ <objectContribution
+ adaptable="false"
+ id="org.eclipse.emf.cdo.dawn.codegen.generate.emf"
+ nameFilter="*.genmodel"
+ objectClass="org.eclipse.core.resources.IFile">
+ <action
+ class="org.eclipse.emf.cdo.dawn.codegen.actions.GenerateDawnGenModelAction"
+ id="org.eclipse.emf.cdo.dawn.codegen.dawngenmodelaction"
+ label="%generate.genmodel.label">
</action>
</objectContribution>
</extension>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/metamodel/DawnCodeGen.ecore b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/metamodel/DawnCodeGen.ecore
index 1fa1b67a82..e49cb3d16b 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/metamodel/DawnCodeGen.ecore
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/metamodel/DawnCodeGen.ecore
@@ -3,9 +3,18 @@
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="dawngenmodel"
nsURI="http://www.eclipse.org/emf/cdo/dawn/2010/GenModel" nsPrefix="dawngenmodel">
- <eClassifiers xsi:type="ecore:EClass" name="DawnGMFGenerator">
+ <eClassifiers xsi:type="ecore:EClass" name="DawnGenerator">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="emfFragmentgenerator" eType="#//DawnEMFGenerator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="gmfFragmentgenerator" eType="#//DawnGMFGenerator"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DawnFragmentGenerator">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fragmentName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dawnEditorClassName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="emfGenModel" eType="ecore:EClass platform:/plugin/org.eclipse.emf.codegen.ecore/model/GenModel.ecore#//GenModel"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DawnGMFGenerator" eSuperTypes="#//DawnFragmentGenerator">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dawnDocumentProviderClassName"
eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dawnEditorUtilClassName"
@@ -25,4 +34,5 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="GMFGenEditorGenerator"
eType="ecore:EClass platform:/plugin/org.eclipse.gmf.codegen/models/gmfgen.ecore#//GenEditorGenerator"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DawnEMFGenerator" eSuperTypes="#//DawnFragmentGenerator"/>
</ecore:EPackage>
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 9c465b1298..8922751eb2 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
@@ -12,6 +12,7 @@ package org.eclipse.emf.cdo.dawn.codegen.actions;
import org.eclipse.emf.cdo.dawn.codegen.creators.Creator;
import org.eclipse.emf.cdo.dawn.codegen.creators.impl.GMFFragmentCreator;
+import org.eclipse.emf.cdo.dawn.codegen.messages.Messages;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -49,7 +50,7 @@ public class GenerateClientCodeAction implements IObjectActionDelegate
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
{
- monitor.beginTask("Generating Dawn Code...", 1000);
+ monitor.beginTask(Messages.GenerateClientCodeAction_0, 1000);
ArrayList<Creator> creators = new ArrayList<Creator>();
creators.add(new GMFFragmentCreator(selectedElement));
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 c7544b2d85..85157774e3 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
@@ -10,10 +10,13 @@
*/
package org.eclipse.emf.cdo.dawn.codegen.actions;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelFactory;
import org.eclipse.emf.cdo.dawn.codegen.util.ProjectCreationHelper;
+import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
@@ -63,54 +66,32 @@ public class GenerateDawnGenModelAction implements IObjectActionDelegate
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
{
monitor.beginTask("Generate Dawn Code", 1000);
- IFile gmfGen = (IFile)selectedElement;
-
- String gmfGenModelFile = gmfGen.getRawLocationURI().toString();
- String path = gmfGenModelFile.replace(gmfGen.getName(), "");
- String modelname = gmfGen.getName().replace(".gmfgen", "");
-
- ResourceSet resourceSet = new ResourceSetImpl();
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("gmfgen",
- new XMIResourceFactoryImpl());
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("genmodel",
- new XMIResourceFactoryImpl());
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(dawngenmodelFileExtension,
- new XMIResourceFactoryImpl());
-
- URI gmfGenModelResourceUri = URI.createURI(gmfGenModelFile);
- Resource gmfGenModelResource = resourceSet.getResource(gmfGenModelResourceUri, true);
-
- String dawnGenModelResourcePath = path + "" + modelname + "." + dawngenmodelFileExtension;
- Resource dawnGenModelResource = resourceSet.createResource(URI.createURI(dawnGenModelResourcePath));
-
- GenEditorGenerator editorGenerator = (GenEditorGenerator)gmfGenModelResource.getContents().get(0);
-
- DawnGMFGenerator dawnGMFGenerator = DawngenmodelFactory.eINSTANCE.createDawnGMFGenerator();
-
- String dawnEditorClassName = getDawnEditorClassName(editorGenerator);
-
- dawnGMFGenerator.setDawnEditorClassName(dawnEditorClassName);
- dawnGMFGenerator.setFragmentName(editorGenerator.getPlugin().getID() + ".dawn");
- dawnGMFGenerator.setDawnCanonicalEditingPolicyClassName(generalPrefix
- + editorGenerator.getDiagram().getCanonicalEditPolicyClassName());
- dawnGMFGenerator.setDawnCreationWizardClassName(generalPrefix
- + editorGenerator.getDiagram().getCreationWizardClassName());
- dawnGMFGenerator.setDawnDiagramEditPartClassName(generalPrefix
- + editorGenerator.getDiagram().getEditPartClassName());
- dawnGMFGenerator.setDawnDocumentProviderClassName(generalPrefix
- + editorGenerator.getDiagram().getDocumentProviderClassName());
- dawnGMFGenerator.setDawnEditorUtilClassName(generalPrefix
- + editorGenerator.getDiagram().getDiagramEditorUtilClassName());
- dawnGMFGenerator.setDawnEditPartFactoryClassName(generalPrefix
- + editorGenerator.getDiagram().getEditPartFactoryClassName());
- dawnGMFGenerator.setDawnEditPartProviderClassName(generalPrefix
- + editorGenerator.getDiagram().getEditPartProviderClassName());
- dawnGMFGenerator.setDawnEditPolicyProviderClassName(generalPrefix
- + editorGenerator.getDiagram().getEditPartProviderClassName().replace("EditPart", "EditPolicy"));
-
- dawnGMFGenerator.setGMFGenEditorGenerator(editorGenerator);
-
- dawnGenModelResource.getContents().add(dawnGMFGenerator);
+ IFile genFile = (IFile)selectedElement;
+
+ String genModelFile = genFile.getRawLocationURI().toString();
+ String path = genModelFile.replace(genFile.getName(), "");
+
+ ResourceSet resourceSet = createResourceSet();
+
+ String modelname = "default";
+
+ modelname = getModelName(genFile);
+
+ Resource dawnGenModelResource = getDawnGenModelResource(path, modelname, resourceSet);
+ DawnGenerator dawnGenerator = getDawngenerator(dawnGenModelResource);
+
+ if (genFile.getName().endsWith(".gmfgen"))
+ {
+ DawnGMFGenerator dawnGMFGenerator = createDawnGMFGenerator(genModelFile, resourceSet);
+ dawnGenerator.setGmfFragmentgenerator(dawnGMFGenerator);
+ }
+ else if (genFile.getName().endsWith(".genmodel"))
+ {
+ DawnEMFGenerator dawnEMFGenerator = createDawnEMFGenerator(genModelFile, resourceSet);
+ dawnGenerator.setEmfFragmentgenerator(dawnEMFGenerator);
+ }
+
+ dawnGenModelResource.getContents().add(dawnGenerator);
try
{
@@ -123,6 +104,22 @@ public class GenerateDawnGenModelAction implements IObjectActionDelegate
ProjectCreationHelper.refreshProject(null, monitor);
}
+
+ private DawnGenerator getDawngenerator(Resource dawnGenModelResource)
+ {
+ DawnGenerator dawnGenerator;
+
+ if (dawnGenModelResource.getContents().size() != 0)
+ {
+ dawnGenerator = (DawnGenerator)dawnGenModelResource.getContents().get(0);
+ }
+ else
+ {
+ dawnGenerator = DawngenmodelFactory.eINSTANCE.createDawnGenerator();
+ }
+ return dawnGenerator;
+ }
+
});
}
catch (InvocationTargetException e)
@@ -146,6 +143,84 @@ public class GenerateDawnGenModelAction implements IObjectActionDelegate
return dawnEditorClassName;
}
+ private DawnEMFGenerator createDawnEMFGenerator(String genModelFile, ResourceSet resourceSet)
+ {
+ DawnEMFGenerator dawnEMFGenerator = DawngenmodelFactory.eINSTANCE.createDawnEMFGenerator();
+
+ URI emfGenModelResourceUri = URI.createURI(genModelFile);
+ Resource emfGenModelResource = resourceSet.getResource(emfGenModelResourceUri, true);
+
+ GenModel genModel = (GenModel)emfGenModelResource.getContents().get(0);
+
+ dawnEMFGenerator.setEmfGenModel(genModel);
+ dawnEMFGenerator.setDawnEditorClassName("Dawn" + genModel.getModelName() + "Editor");
+ dawnEMFGenerator.setFragmentName(genModel.getEditorPluginID() + ".dawn");
+ return dawnEMFGenerator;
+ }
+
+ private String getModelName(IFile genFile)
+ {
+ int lastIndexOf = genFile.getName().lastIndexOf(".");
+ return genFile.getName().substring(0, lastIndexOf);
+ }
+
+ private DawnGMFGenerator createDawnGMFGenerator(String gmfGenModelFile, ResourceSet resourceSet)
+ {
+ URI gmfGenModelResourceUri = URI.createURI(gmfGenModelFile);
+ Resource gmfGenModelResource = resourceSet.getResource(gmfGenModelResourceUri, true);
+
+ GenEditorGenerator editorGenerator = (GenEditorGenerator)gmfGenModelResource.getContents().get(0);
+
+ DawnGMFGenerator dawnGMFGenerator = DawngenmodelFactory.eINSTANCE.createDawnGMFGenerator();
+
+ String dawnEditorClassName = getDawnEditorClassName(editorGenerator);
+
+ dawnGMFGenerator.setDawnEditorClassName(dawnEditorClassName);
+ dawnGMFGenerator.setFragmentName(editorGenerator.getPlugin().getID() + ".dawn");
+ dawnGMFGenerator.setDawnCanonicalEditingPolicyClassName(generalPrefix
+ + editorGenerator.getDiagram().getCanonicalEditPolicyClassName());
+ dawnGMFGenerator.setDawnCreationWizardClassName(generalPrefix
+ + editorGenerator.getDiagram().getCreationWizardClassName());
+ dawnGMFGenerator.setDawnDiagramEditPartClassName(generalPrefix
+ + editorGenerator.getDiagram().getEditPartClassName());
+ dawnGMFGenerator.setDawnDocumentProviderClassName(generalPrefix
+ + editorGenerator.getDiagram().getDocumentProviderClassName());
+ dawnGMFGenerator.setDawnEditorUtilClassName(generalPrefix
+ + editorGenerator.getDiagram().getDiagramEditorUtilClassName());
+ dawnGMFGenerator.setDawnEditPartFactoryClassName(generalPrefix
+ + editorGenerator.getDiagram().getEditPartFactoryClassName());
+ dawnGMFGenerator.setDawnEditPartProviderClassName(generalPrefix
+ + editorGenerator.getDiagram().getEditPartProviderClassName());
+ dawnGMFGenerator.setDawnEditPolicyProviderClassName(generalPrefix
+ + editorGenerator.getDiagram().getEditPartProviderClassName().replace("EditPart", "EditPolicy"));
+
+ dawnGMFGenerator.setGMFGenEditorGenerator(editorGenerator);
+ return dawnGMFGenerator;
+ }
+
+ private Resource getDawnGenModelResource(String path, String modelname, ResourceSet resourceSet)
+ {
+ String dawnGenModelResourcePath = path + "" + modelname + "." + dawngenmodelFileExtension;
+ URI uri = URI.createURI(dawnGenModelResourcePath);
+ Resource dawnGenModelResource = resourceSet.getResource(uri, true);
+
+ if (dawnGenModelResource == null)
+ {
+ dawnGenModelResource = resourceSet.createResource(uri);
+ }
+ return dawnGenModelResource;
+ }
+
+ private ResourceSet createResourceSet()
+ {
+ ResourceSet resourceSet = new ResourceSetImpl();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("gmfgen", new XMIResourceFactoryImpl());
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("genmodel", new XMIResourceFactoryImpl());
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(dawngenmodelFileExtension, new XMIResourceFactoryImpl());
+ return resourceSet;
+ }
+
public void selectionChanged(IAction action, ISelection selection)
{
if (selection instanceof IStructuredSelection)
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateEMFFragmentAction.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateEMFFragmentAction.java
new file mode 100644
index 0000000000..b9a9868756
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateEMFFragmentAction.java
@@ -0,0 +1,85 @@
+/**
+ * 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.codegen.actions;
+
+import org.eclipse.emf.cdo.dawn.codegen.creators.Creator;
+import org.eclipse.emf.cdo.dawn.codegen.creators.impl.EMFFragmentCreator;
+import org.eclipse.emf.cdo.dawn.codegen.messages.Messages;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+
+/**
+ * @author Martin Fluegge
+ * @since 0.3
+ */
+public class GenerateEMFFragmentAction implements IObjectActionDelegate
+{
+ private IResource selectedElement;
+
+ public void setActivePart(IAction action, IWorkbenchPart targetPart)
+ {
+ }
+
+ public void run(IAction action)
+ {
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ try
+ {
+ window.run(true, true, new IRunnableWithProgress()
+ {
+ public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
+ {
+ monitor.beginTask(Messages.GenerateEMFFragmentAction_0, 1000);
+ ArrayList<Creator> creators = new ArrayList<Creator>();
+ creators.add(new EMFFragmentCreator(selectedElement));
+
+ for (Creator creator : creators)
+ {
+ creator.create(new SubProgressMonitor(monitor, 1000 / creators.size()));
+ }
+ }
+ });
+ }
+ catch (InvocationTargetException e)
+ {
+ e.printStackTrace();
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ public void selectionChanged(IAction action, ISelection selection)
+ {
+ if (selection instanceof IStructuredSelection)
+ {
+ Object sel = ((IStructuredSelection)selection).getFirstElement();
+ if (sel instanceof IResource)
+ {
+ selectedElement = (IResource)sel;
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/EMFFragmentCreator.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/EMFFragmentCreator.java
new file mode 100644
index 0000000000..0d6bf019c3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/creators/impl/EMFFragmentCreator.java
@@ -0,0 +1,148 @@
+/**
+ * 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.codegen.creators.impl;
+
+import org.eclipse.emf.cdo.dawn.codegen.actions.GenerateDawnGenModelAction;
+import org.eclipse.emf.cdo.dawn.codegen.creators.Creator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnEMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.util.ProjectCreationHelper;
+import org.eclipse.emf.cdo.dawn.codegen.util.Utils;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.emf.mwe.core.WorkflowRunner;
+import org.eclipse.emf.mwe.core.monitor.NullProgressMonitor;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jdt.core.JavaCore;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Martin Fluegge
+ * @since 1.0
+ */
+public class EMFFragmentCreator implements Creator
+{
+ private final IResource selectedElement;
+
+ private final String PLUGIN_NATURE = "org.eclipse.pde.PluginNature";
+
+ private final String JAVA_NATURE = JavaCore.NATURE_ID;
+
+ public EMFFragmentCreator(IResource selectedElement)
+ {
+ this.selectedElement = selectedElement;
+ }
+
+ public void create(IProgressMonitor monitor)
+ {
+ IFile dawnGenModelFile = (IFile)selectedElement;
+
+ ResourceSet resourceSet = new ResourceSetImpl();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(GenerateDawnGenModelAction.dawngenmodelFileExtension, new XMIResourceFactoryImpl());
+
+ Resource dawnGenModelResource = resourceSet.getResource(
+ URI.createURI(dawnGenModelFile.getRawLocationURI().toString()), true);
+
+ DawnGenerator dawnGenerator = (DawnGenerator)dawnGenModelResource.getContents().get(0);
+ DawnEMFGenerator dawnEMFGenerator = dawnGenerator.getEmfFragmentgenerator();
+
+ monitor.subTask("Create client fragment's basic structure");
+
+ // String[] natures = new String[] { JavaCore.NATURE_ID, PDE.PLUGIN_NATURE };
+ String[] natures = new String[] { JAVA_NATURE, PLUGIN_NATURE };
+
+ ProjectCreationHelper projectCreationHelper = new ProjectCreationHelper();
+ projectCreationHelper.setName(dawnEMFGenerator.getFragmentName());
+ projectCreationHelper.setNatures(natures);
+ IProject project;
+ try
+ {
+ project = projectCreationHelper.createProject();
+ projectCreationHelper.createJavaProject(project);
+
+ monitor.worked(100);
+
+ monitor.subTask("Creating folder structure...");
+ projectCreationHelper.createFolder("lib", project);
+ projectCreationHelper.createFolder("META-INF", project);
+ projectCreationHelper.createFolder("icons", project);
+
+ monitor.worked(100);
+
+ monitor.subTask("Creating generic content...");
+ createGenericContent(monitor, project.getLocation());
+ ProjectCreationHelper.refreshProject(project, monitor);
+ }
+ catch (CoreException e1)
+ {
+ e1.printStackTrace();
+ }
+ catch (InvocationTargetException e)
+ {
+ e.printStackTrace();
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+
+ monitor.done();
+ }
+
+ private void createGenericContent(IProgressMonitor monitor, IPath location)
+ {
+ IFile file = (IFile)selectedElement;
+ Map<String, String> properties = new HashMap<String, String>();
+
+ Map<String, ?> slotMap = new HashMap<String, Object>();
+ try
+ {
+ String dawnGenFile = file.getRawLocationURI().toString();// ;file.getLocation().toFile().getAbsoluteFile().toURI().toURL().toString();
+
+ IFile dawnGen = (IFile)selectedElement;
+ IProject hostProject = dawnGen.getProject();
+
+ Utils.setPackage(hostProject.getName());
+
+ String ouputFolder = location.toFile().getAbsoluteFile().toString();// + "/" + hostProject.getName()+".diagram";
+
+ properties.put("model", dawnGenFile);
+ properties.put("src-gen", ouputFolder);
+
+ URL workFlowURL = this.getClass().getClassLoader().getResource("/workflow/emfFragmentGenerator.oaw");
+ WorkflowRunner workflowRunner = new WorkflowRunner();
+ String workflow = FileLocator.toFileURL(workFlowURL).getFile();
+
+ workflowRunner.run(workflow, new NullProgressMonitor(), properties, slotMap);
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+}
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 82ae82dd28..af1e467cbd 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
@@ -13,6 +13,7 @@ package org.eclipse.emf.cdo.dawn.codegen.creators.impl;
import org.eclipse.emf.cdo.dawn.codegen.actions.GenerateDawnGenModelAction;
import org.eclipse.emf.cdo.dawn.codegen.creators.Creator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGMFGenerator;
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
import org.eclipse.emf.cdo.dawn.codegen.util.ProjectCreationHelper;
import org.eclipse.emf.cdo.dawn.codegen.util.Utils;
@@ -60,14 +61,14 @@ public class GMFFragmentCreator implements Creator
IFile dawnGenModelFile = (IFile)selectedElement;
ResourceSet resourceSet = new ResourceSetImpl();
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(
- GenerateDawnGenModelAction.dawngenmodelFileExtension, new XMIResourceFactoryImpl());
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(GenerateDawnGenModelAction.dawngenmodelFileExtension, new XMIResourceFactoryImpl());
- Resource dawnGenModelResource = resourceSet.getResource(URI.createURI(dawnGenModelFile.getRawLocationURI()
- .toString()), true);
-
- DawnGMFGenerator dawnGMFGenerator = (DawnGMFGenerator)dawnGenModelResource.getContents().get(0);
+ Resource dawnGenModelResource = resourceSet.getResource(
+ URI.createURI(dawnGenModelFile.getRawLocationURI().toString()), true);
+ DawnGenerator dawnGenerator = (DawnGenerator)dawnGenModelResource.getContents().get(0);
+ DawnGMFGenerator dawnGMFGenerator = dawnGenerator.getGmfFragmentgenerator();
monitor.subTask("Create client fragment's basic structure");
// String[] natures = new String[] { JavaCore.NATURE_ID, PDE.PLUGIN_NATURE };
@@ -109,7 +110,6 @@ public class GMFFragmentCreator implements Creator
}
monitor.worked(100);
-
}
private void createGenericContent(IProgressMonitor monitor, IPath location)
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/messages/Messages.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/messages/Messages.java
new file mode 100644
index 0000000000..f073ad68c3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/messages/Messages.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.dawn.codegen.messages;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Martin Fluegge
+ * @since 0.3
+ */
+public class Messages extends NLS
+{
+ private static final String BUNDLE_NAME = "org.eclipse.emf.cdo.dawn.codegen.messages"; //$NON-NLS-1$
+
+ public static String GenerateClientCodeAction_0;
+
+ public static String GenerateEMFFragmentAction_0;
+ static
+ {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages()
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/messages/messages.properties b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/messages/messages.properties
new file mode 100644
index 0000000000..2b7322ab2c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/messages/messages.properties
@@ -0,0 +1,2 @@
+GenerateEMFFragmentAction_0=Generating Dawn EMF fragment...
+GenerateClientCodeAction_0=Generating Dawn GMF fragment...
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.ext b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.ext
index 1eedfc4b77..9be7f3abf0 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.ext
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/util/Utils.ext
@@ -49,4 +49,8 @@ String timestamp() :
String toModelNameFromGetterName(String s ) :
JAVA org.eclipse.emf.cdo.dawn.codegen.util.Utils.toModelNameFromGetterName(java.lang.String);
+
+ String getEMFFileName(List genPackages) :
+ JAVA org.eclipse.emf.cdo.dawn.codegen.util.Utils.getEMFFileName(java.util.List);
+
\ No newline at end of file
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 584eccfe6d..0cc522fcfa 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
@@ -10,8 +10,12 @@
*/
package org.eclipse.emf.cdo.dawn.codegen.util;
+import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
+
import org.eclipse.swt.widgets.Canvas;
+import java.util.List;
+
/**
* @author Martin Fluegge
*/
@@ -100,4 +104,12 @@ public class Utils
String ret = uniqueIdentifier.replace("getFigure", "");
return ret;
}
+
+ /**
+ * @since 1.0
+ */
+ public static String getEMFFileName(List<GenPackage> genPackages)
+ {
+ return genPackages.get(0).getFileExtension();
+ }
}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/EMFFragmentTemplate.xpt b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/EMFFragmentTemplate.xpt
new file mode 100644
index 0000000000..67c9011f9b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/template/EMFFragmentTemplate.xpt
@@ -0,0 +1,398 @@
+«REM»
+ 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»
+«IMPORT gmfgraph»
+«IMPORT emf»
+«IMPORT genmodel»
+«IMPORT ecore»
+«IMPORT dawngenmodel»
+
+«EXTENSION org::eclipse::emf::cdo::dawn::codegen::util::Utils»
+
+«DEFINE main FOR DawnGenerator»
+
+ «setDiagramPackage(this.emfFragmentgenerator.emfGenModel.modelPluginID)»
+
+ «EXPAND dawnEditor FOR this.emfFragmentgenerator»
+ «EXPAND dawnWizard FOR this.emfFragmentgenerator»
+ «EXPAND fragmentXML FOR this.emfFragmentgenerator»
+ «EXPAND manifestMF FOR this.emfFragmentgenerator»
+ «EXPAND buildPROPERTIES FOR this.emfFragmentgenerator»
+ «EXPAND classpath FOR this.emfFragmentgenerator»
+«ENDDEFINE»
+
+«REM»############################################ Extended Editor ##################################################################«ENDREM»
+«DEFINE dawnEditor FOR DawnEMFGenerator»
+«FILE "src/"+getDiagramPackagePath()+"/presentation/"+this.dawnEditorClassName+".java"»
+package «this.emfGenModel.modelPluginID».presentation;
+
+import «this.emfGenModel.modelPluginID».presentation.«this.emfGenModel.modelName»Editor;
+
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditorSupport;
+import org.eclipse.emf.cdo.dawn.editors.impl.DawnEMFEditorSupport;
+import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
+import org.eclipse.emf.cdo.dawn.ui.DawnLabelProvider;
+import org.eclipse.emf.cdo.dawn.ui.DawnSelectionViewerAdapterFactoryContentProvider;
+import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
+
+public class «this.dawnEditorClassName» extends «this.emfGenModel.modelName»Editor implements IDawnEditor
+{
+ private IDawnEditorSupport dawnEditorSupport;
+
+ public static String ID = "«this.emfGenModel.modelPluginID».presentation.«this.dawnEditorClassName»ID";
+
+ public «this.dawnEditorClassName»()
+ {
+ super();
+ dawnEditorSupport = new DawnEMFEditorSupport(this);
+ }
+
+ @Override
+ protected void setInput(IEditorInput input)
+ {
+ super.setInput(input);
+ if (input instanceof DawnEditorInput)
+ {
+ dawnEditorSupport.setView(((DawnEditorInput)input).getView());
+ dawnEditorSupport.registerListeners();
+ }
+ }
+
+ @Override
+ protected void setInputWithNotify(IEditorInput input)
+ {
+ super.setInput(input);
+ if (input instanceof DawnEditorInput)
+ {
+ CDOResource resource = ((DawnEditorInput)input).getResource();
+ URI uri = URI.createURI(((DawnEditorInput)input).getURI().toString());
+
+ if (resource == null || resource.cdoView() == null)
+ {
+ ResourceSet resourceSet = editingDomain.getResourceSet();
+ CDOTransaction transaction = CDOConnectionUtil.instance.openCurrentTransaction(resourceSet, uri.toString());
+
+ resource = (CDOResource)resourceSet.getResource(uri, true);
+
+ if (resource == null || resource.cdoView() == null)
+ {
+ resource = transaction.getOrCreateResource(uri.toString());
+ }
+ }
+
+ ((DawnEditorInput)input).setResource(resource);
+ dawnEditorSupport.setView(((DawnEditorInput)input).getView());
+ dawnEditorSupport.registerListeners();
+ }
+ }
+
+ @Override
+ public void createPages()
+ {
+ super.createPages();
+
+ selectionViewer.setContentProvider(new DawnSelectionViewerAdapterFactoryContentProvider(adapterFactory,
+ ((DawnEditorInput)getEditorInput()).getResource()));
+ selectionViewer
+ .setLabelProvider(new DawnLabelProvider(adapterFactory, dawnEditorSupport.getView(), selectionViewer));
+ parentViewer.setLabelProvider(new DawnLabelProvider(adapterFactory, dawnEditorSupport.getView(), selectionViewer));
+ listViewer.setLabelProvider(new DawnLabelProvider(adapterFactory, dawnEditorSupport.getView(), selectionViewer));
+ treeViewer.setLabelProvider(new DawnLabelProvider(adapterFactory, dawnEditorSupport.getView(), selectionViewer));
+ tableViewer.setLabelProvider(new DawnLabelProvider(adapterFactory, dawnEditorSupport.getView(), selectionViewer));
+ treeViewerWithColumns.setLabelProvider(new DawnLabelProvider(adapterFactory, dawnEditorSupport.getView(),
+ selectionViewer));
+
+ CDOResource resource = ((DawnEditorInput)getEditorInput()).getResource();
+
+ selectionViewer.setInput(resource.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(resource), true);
+
+ parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+ }
+
+ @Override
+ public void doSave(IProgressMonitor progressMonitor)
+ {
+ CDOView view = dawnEditorSupport.getView();
+ if (view instanceof CDOTransaction)
+ {
+ if (view.hasConflict())
+ {
+ MessageDialog.openError(Display.getDefault().getActiveShell(), "conflict",
+ "Your Resource is in conflict and cannot be committed");
+ }
+ else
+ {
+ super.doSave(progressMonitor);
+ }
+ }
+ }
+
+ public String getContributorID()
+ {
+ return null;
+ }
+
+ public CDOView getView()
+ {
+ return dawnEditorSupport.getView();
+ }
+
+ public void setDirty()
+ {
+ dawnEditorSupport.setDirty(true);
+ }
+
+ @Override
+ public void dispose()
+ {
+ try
+ {
+ super.dispose();
+ }
+ finally
+ {
+ dawnEditorSupport.close();
+ }
+ }
+
+ public String getContributorId()
+ {
+ return ID;
+ }
+
+ public IDawnEditorSupport getDawnEditorSupport()
+ {
+ return dawnEditorSupport;
+ }
+}
+«ENDFILE»
+«ENDDEFINE»
+«REM»############################################ Extended Wizard ##################################################################«ENDREM»
+«DEFINE dawnWizard FOR DawnEMFGenerator»
+«FILE "src/"+getDiagramPackagePath()+"/presentation/"+"Dawn"+this.emfGenModel.modelName+"ModelWizard.java"»
+package «this.emfGenModel.modelPluginID».presentation;
+
+import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
+import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
+import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewResourceWizardPage;
+import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import java.util.Collections;
+
+public class Dawn«this.emfGenModel.modelName»ModelWizard extends «this.emfGenModel.modelName»ModelWizard implements INewWizard
+{
+ private DawnCreateNewResourceWizardPage newResourceCreationPage;
+
+ private CDOView view;
+
+ private CDOResource resource;
+
+ public Dawn«this.emfGenModel.modelName»ModelWizard()
+ {
+ super();
+ CDOConnectionUtil.instance.init(PreferenceConstants.getRepositoryName(), PreferenceConstants.getProtocol(),
+ PreferenceConstants.getServerName());
+ CDOSession session = CDOConnectionUtil.instance.openSession();
+ view = CDOConnectionUtil.instance.openView(session);
+ }
+
+ @Override
+ public void addPages()
+ {
+ newResourceCreationPage = new DawnCreateNewResourceWizardPage("«getEMFFileName(this.emfGenModel.genPackages)»", true, view);
+ addPage(newResourceCreationPage);
+
+ initialObjectCreationPage = new «this.emfGenModel.modelName»ModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(«this.emfGenModel.modelName»EditorPlugin.INSTANCE.getString("_UI_«this.emfGenModel.modelName»ModelWizard_label"));
+ initialObjectCreationPage.setDescription(«this.emfGenModel.modelName»EditorPlugin.INSTANCE
+ .getString("_UI_Wizard_initial_object_description"));
+ addPage(initialObjectCreationPage);
+ }
+
+ @Override
+ public boolean performFinish()
+ {
+ try
+ {
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation = new WorkspaceModifyOperation()
+ {
+
+ @Override
+ protected void execute(IProgressMonitor progressMonitor)
+ {
+ try
+ {
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ URI resourceURI = newResourceCreationPage.getURI();
+
+ CDOTransaction transaction = CDOConnectionUtil.instance.openCurrentTransaction(resourceSet,
+ resourceURI.toString());
+
+ resource = transaction.getOrCreateResource(resourceURI.path());
+
+ EObject rootObject = createInitialModel();
+ if (rootObject != null)
+ {
+ resource.getContents().add(rootObject);
+ }
+
+ resource.save(Collections.EMPTY_MAP);
+ transaction.close();
+ }
+ catch (Exception exception)
+ {
+ «this.emfGenModel.modelName»EditorPlugin.INSTANCE.log(exception);
+ throw new RuntimeException(exception);
+ }
+ finally
+ {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+ openEditor(newResourceCreationPage.getURI());
+
+ return true;
+ }
+ catch (Exception exception)
+ {
+ «this.emfGenModel.modelName»EditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ private void openEditor(URI uri)
+ {
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ DawnEditorInput dawnEditorInput = new DawnEditorInput(uri);
+ try
+ {
+ page.openEditor(dawnEditorInput, «this.dawnEditorClassName».ID);
+ }
+ catch (PartInitException exception)
+ {
+ MessageDialog.openError(workbenchWindow.getShell(),
+ «this.emfGenModel.modelName»EditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ throw new RuntimeException(exception);
+ }
+ }
+}
+«ENDFILE»
+«ENDDEFINE»
+«REM»########################################## fragment.xml ####################################################################«ENDREM»
+«DEFINE fragmentXML FOR DawnEMFGenerator»
+«FILE "fragment.xml"»<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<fragment>
+ <extension point="org.eclipse.ui.newWizards">
+ <wizard
+ id="«this.emfGenModel.modelPluginID».presentation.Dawn«this.emfGenModel.modelName»ModelWizardID"
+ name="Dawn «this.emfGenModel.modelName» Model"
+ class="«this.emfGenModel.modelPluginID».presentation.Dawn«this.emfGenModel.modelName»ModelWizard"
+ category="org.eclipse.emf.cdo.dawn.ui.category.examples"
+ icon="platform:/plugin/«this.emfGenModel.editPluginID»/icons/full/obj16/«this.emfGenModel.modelName»ModelFile.gif">
+ <description>A Dawn editor for «this.emfGenModel.modelName» models</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <editor
+ id="«this.emfGenModel.modelPluginID».presentation.«this.dawnEditorClassName»ID"
+ name="Dawn «this.emfGenModel.modelName» model Editor"
+ icon="platform:/plugin/«this.emfGenModel.editPluginID»/icons/full/obj16/«this.emfGenModel.modelName»ModelFile.gif"
+ extensions="«getEMFFileName(this.emfGenModel.genPackages)»"
+ class="«this.emfGenModel.modelPluginID».presentation.«this.dawnEditorClassName»"
+ contributorClass="«this.emfGenModel.modelPluginID».presentation.«this.emfGenModel.modelName»ActionBarContributor">
+ </editor>
+ </extension>
+</fragment>
+
+«ENDFILE»
+«ENDDEFINE»
+«REM»##############################################################################################################«ENDREM»
+«DEFINE manifestMF FOR DawnEMFGenerator»
+«FILE "META-INF/MANIFEST.MF"»Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Dawn
+Bundle-SymbolicName: «this.fragmentName»;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Fragment-Host: «this.emfGenModel.editorPluginID»
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.emf.cdo.dawn;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo.dawn.ui;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo.dawn.util;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo.ui;bundle-version="[4.0.0,5.0.0)"
+«ENDFILE»
+«ENDDEFINE»
+
+
+«DEFINE buildPROPERTIES FOR DawnEMFGenerator»
+«FILE "build.properties"»source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ fragment.xml
+«ENDFILE»
+«ENDDEFINE»
+«REM»################################### . classpath ###########################################################################«ENDREM»
+
+«DEFINE classpath FOR DawnEMFGenerator»
+«FILE ".classpath"»<?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>
+«ENDFILE»
+«ENDDEFINE»
+
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 89ea0199c9..ce2fc1e73a 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
@@ -19,22 +19,22 @@
«EXTENSION org::eclipse::emf::cdo::dawn::codegen::util::Utils»
-«DEFINE main FOR DawnGMFGenerator»
- «setDiagramPackage(this.GMFGenEditorGenerator.packageNamePrefix)»
-
- «EXPAND dawnEditor FOR this»
- «EXPAND dawnEditPart FOR this»
- «EXPAND dawnEditPartFactory FOR this»
- «EXPAND dawnCanonicalEditingPolicy FOR this»
- «EXPAND dawnCreationWizard FOR this»
- «EXPAND dawnEditorUtil FOR this»
- «EXPAND dawnDocumentProvider FOR this»
- «EXPAND dawnEditPartProvider FOR this»
- «EXPAND fragmentXML FOR this»
- «EXPAND dawnEditPolicyProvider FOR this»
- «EXPAND manifestMF FOR this»
- «EXPAND buildPROPERTIES FOR this.GMFGenEditorGenerator»
- «EXPAND classpath FOR this.GMFGenEditorGenerator»
+«DEFINE main FOR DawnGenerator»
+ «setDiagramPackage(this.gmfFragmentgenerator.GMFGenEditorGenerator.packageNamePrefix)»
+
+ «EXPAND dawnEditor FOR this.gmfFragmentgenerator»
+ «EXPAND dawnEditPart FOR this.gmfFragmentgenerator»
+ «EXPAND dawnEditPartFactory FOR this.gmfFragmentgenerator»
+ «EXPAND dawnCanonicalEditingPolicy FOR this.gmfFragmentgenerator»
+ «EXPAND dawnCreationWizard FOR this.gmfFragmentgenerator»
+ «EXPAND dawnEditorUtil FOR this.gmfFragmentgenerator»
+ «EXPAND dawnDocumentProvider FOR this.gmfFragmentgenerator»
+ «EXPAND dawnEditPartProvider FOR this.gmfFragmentgenerator»
+ «EXPAND fragmentXML FOR this.gmfFragmentgenerator»
+ «EXPAND dawnEditPolicyProvider FOR this.gmfFragmentgenerator»
+ «EXPAND manifestMF FOR this.gmfFragmentgenerator»
+ «EXPAND buildPROPERTIES FOR this.gmfFragmentgenerator.GMFGenEditorGenerator»
+ «EXPAND classpath FOR this.gmfFragmentgenerator.GMFGenEditorGenerator»
«ENDDEFINE»
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/emfFragmentGenerator.oaw b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/emfFragmentGenerator.oaw
new file mode 100644
index 0000000000..fa83aef725
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/workflow/emfFragmentGenerator.oaw
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<!--
+ 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
+-->
+
+<workflow>
+
+ <property name="model" value="file:/D:/Development/INSTANCES/Dawn_Instance1/org.eclipse.emf.cdo.dawn.examples.acore/model/acore.dawngenmodel" />
+
+ <property name="src-gen" value="d:/temp/source" />
+
+ <!-- set up EMF for standalone execution -->
+ <bean class="org.eclipse.emf.mwe.utils.StandaloneSetup" >
+ <platformUri value=".."/>
+ </bean>
+
+ <!-- load model and store it in slot 'model' -->
+ <component class="org.eclipse.emf.mwe.utils.Reader">
+ <uri value="${model}" />
+ <modelSlot value="model" />
+ </component>
+
+
+
+ <!-- check model -->
+ <!--loads different metamodels-->
+ <component class="org.eclipse.xtend.check.CheckComponent">
+ <metaModel id="ecore" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.emf.ecore.EcorePackage"/>
+ </metaModel>
+
+ <metaModel id="genmodel" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage"/>
+ </metaModel>
+
+ <metaModel id="dawngenmodel" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage"/>
+ </metaModel>
+
+ <metaModel id="mmGGr" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.gmf.gmfgraph.GMFGraphPackage"/>
+ </metaModel>
+
+ <metaModel id="mmGGen" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.gmf.codegen.gmfgen.GMFGenPackage"/>
+ </metaModel>
+ <checkFile value="metamodel::Checks" />
+ <emfAllChildrenSlot value="model" />
+ </component>
+
+ <!-- generate code for the meta specified templates -->
+ <component class="org.eclipse.xpand2.Generator">
+
+ <metaModel id="ecore" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.emf.ecore.EcorePackage"/>
+ </metaModel>
+
+ <metaModel id="genmodel" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage"/>
+ </metaModel>
+
+ <metaModel id="dawngenmodel" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelPackage"/>
+ </metaModel>
+
+ <metaModel id="mmGGr" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.gmf.gmfgraph.GMFGraphPackage"/>
+ </metaModel>
+
+ <metaModel id="mmGGen" class="org.eclipse.xtend.typesystem.emf.EmfMetaModel">
+ <metaModelPackage value="org.eclipse.gmf.codegen.gmfgen.GMFGenPackage"/>
+ </metaModel>
+
+ <expand value="template::EMFFragmentTemplate::main FOR model" />
+ <outlet path="${src-gen}" >
+ <postprocessor class="org.eclipse.xpand2.output.JavaBeautifier" />
+ </outlet>
+
+ <!--<prSrcPaths value="${src-gen}"/>
+ <prExcludes value=", *.xml, *.hbm"/>-->
+ </component>
+</workflow>
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 d97c55da1d..a507e7a27e 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
@@ -13,7 +13,7 @@
<workflow>
<!--<property name="model" value="file:/D:/Development/CDO/org.eclipse.emf.cdo.dawn.examples.acore/model/classdiagram.gmfgen" />-->
- <property name="model" value="file:/D:/Development/INSTANCES/Dawn_Instance1/Dawn/model/classdiagram.dawngenmodel" />
+ <property name="model" value="file:/D:/Development/INSTANCES/Dawn_Instance1/org.eclipse.emf.cdo.dawn.examples.acore/model/acore.dawngenmodel" />
<property name="src-gen" value="d:/temp/source" />
<!--<property name="src-gen" /> --> <!--just declare it to make it accessable -->
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn/fragment.xml b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn/fragment.xml
index 599e5f57ec..7fa1175250 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn/fragment.xml
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn/fragment.xml
@@ -56,12 +56,12 @@
</Priority>
</editpolicyProvider>
</extension>
- <extension
+ <!--<extension
point="org.eclipse.emf.cdo.dawn.listeners">
<DawnTransactionListener
class="org.eclipse.emf.cdo.dawn.notifications.DawnGMFTransactionListener">
</DawnTransactionListener>
- </extension>
+ </extension>-->
<extension
point="org.eclipse.emf.cdo.dawn.editpartstylizers">
<DawnEditPartStylizers
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn/src/org/eclipse/emf/cdo/dawn/examples/acore/presentation/DawnAcoreEditor.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn/src/org/eclipse/emf/cdo/dawn/examples/acore/presentation/DawnAcoreEditor.java
index 0990ce0b97..5d75d64db3 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn/src/org/eclipse/emf/cdo/dawn/examples/acore/presentation/DawnAcoreEditor.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn/src/org/eclipse/emf/cdo/dawn/examples/acore/presentation/DawnAcoreEditor.java
@@ -45,7 +45,6 @@ public class DawnAcoreEditor extends AcoreEditor implements IDawnEditor
public DawnAcoreEditor()
{
super();
- System.out.println("Using Dawn Acore Editor");
dawnEditorSupport = new DawnEMFEditorSupport(this);
}
@@ -53,8 +52,11 @@ public class DawnAcoreEditor extends AcoreEditor implements IDawnEditor
protected void setInput(IEditorInput input)
{
super.setInput(input);
- dawnEditorSupport.setView(((DawnEditorInput)input).getView());
- dawnEditorSupport.registerListeners();
+ if (input instanceof DawnEditorInput)
+ {
+ dawnEditorSupport.setView(((DawnEditorInput)input).getView());
+ dawnEditorSupport.registerListeners();
+ }
}
@Override
@@ -80,10 +82,9 @@ public class DawnAcoreEditor extends AcoreEditor implements IDawnEditor
}
((DawnEditorInput)input).setResource(resource);
+ dawnEditorSupport.setView(((DawnEditorInput)input).getView());
+ dawnEditorSupport.registerListeners();
}
-
- dawnEditorSupport.setView(((DawnEditorInput)input).getView());
- dawnEditorSupport.registerListeners();
}
@Override
@@ -144,12 +145,6 @@ public class DawnAcoreEditor extends AcoreEditor implements IDawnEditor
dawnEditorSupport.setDirty(true);
}
- // @Override
- // public boolean isDirty()
- // {
- // return dawnEditorSupport.isDirty() || super.isDirty();
- // }
-
@Override
public void dispose()
{
@@ -165,7 +160,7 @@ public class DawnAcoreEditor extends AcoreEditor implements IDawnEditor
public String getContributorId()
{
- return null;
+ return ID;
}
public IDawnEditorSupport getDawnEditorSupport()
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.tests/META-INF/MANIFEST.MF
index 336b48ef6a..fcf94343be 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/META-INF/MANIFEST.MF
@@ -29,7 +29,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
org.eclipse.gmf.xpand;bundle-version="[2.1.0,3.0.0)",
org.eclipse.emf.mwe.core;bundle-version="[1.0.0,2.0.0)",
org.eclipse.emf.mwe.utils;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.emf.cdo.dawn.codegen;bundle-version="[0.2.100,1.0.0)",
+ org.eclipse.emf.cdo.dawn.codegen;bundle-version="[1.0.0,2.0.0)",
org.eclipse.emf.cdo.tests.ui;bundle-version="[4.0.0,5.0.0)",
org.eclipse.emf.cdo.dawn.examples.acore.editor;bundle-version="[1.0.0,2.0.0)"
Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java
index cc90020521..98d9214857 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java
@@ -54,6 +54,9 @@ public class DawnCodeGenGMFFragmentTest extends AbstractDawnTest
String diagramFolder = ouputFolder + "/" + "src/org/eclipse/emf/cdo/dawn/examples/acore/diagram";
assertEquals(true, new File(outputFolder + "/META-INF/Manifest.MF").exists());
+ assertEquals(true, new File(outputFolder + "/fragment.xml").exists());
+ assertEquals(true, new File(outputFolder + "/build.properties").exists());
+
assertEquals(true, new File(diagramFolder + "/edit/").exists());
assertEquals(true, new File(diagramFolder + "/edit/parts/DawnAcoreEditPartFactory.java").exists());
assertEquals(true, new File(diagramFolder + "/edit/parts/DawnACoreRootEditPart.java").exists());
@@ -68,6 +71,7 @@ public class DawnCodeGenGMFFragmentTest extends AbstractDawnTest
assertEquals(true, new File(diagramFolder + "/providers/").exists());
assertEquals(true, new File(diagramFolder + "/providers/DawnAcoreEditPartProvider.java").exists());
assertEquals(true, new File(diagramFolder + "/providers/DawnAcoreEditPolicyProvider.java").exists());
+
basicCompare(new File(new URI(DawnTestPlatform.instance.getBundlePathForClass(DawnAcoreDiagramEditor.class)
+ ".dawn/src/")), new File(outputFolder + "/src"));
}
@@ -98,11 +102,6 @@ public class DawnCodeGenGMFFragmentTest extends AbstractDawnTest
{
for (File child : reference.listFiles())
{
- // TODO: fix the problematic files
- // if (child.getName().equals("DawnAcoreCreationWizard.java"))
- // {
- // continue;
- // }
basicCompare(child, new File(expected + "/" + child.getName()));
}
}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/model/acore.dawngenmodel b/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/model/acore.dawngenmodel
index ac80bb9dd8..5bb35863d8 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/model/acore.dawngenmodel
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/model/acore.dawngenmodel
@@ -1,4 +1,9 @@
<?xml version="1.0" encoding="ASCII"?>
-<dawngenmodel:DawnGMFGenerator xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:dawngenmodel="http://www.eclipse.org/emf/cdo/dawn/2010/GenModel" fragmentName="org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn" dawnEditorClassName="DawnAcoreDiagramEditor" dawnDocumentProviderClassName="DawnAcoreDocumentProvider" dawnEditorUtilClassName="DawnAcoreDiagramEditorUtil" dawnCreationWizardClassName="DawnAcoreCreationWizard" dawnCanonicalEditingPolicyClassName="DawnACoreRootCanonicalEditPolicy" dawnDiagramEditPartClassName="DawnACoreRootEditPart" dawnEditPartFactoryClassName="DawnAcoreEditPartFactory" dawnEditPartProviderClassName="DawnAcoreEditPartProvider" dawnEditPolicyProviderClassName="DawnAcoreEditPolicyProvider">
- <GMFGenEditorGenerator href="acore.gmfgen#/"/>
-</dawngenmodel:DawnGMFGenerator>
+<dawngenmodel:DawnGenerator xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:dawngenmodel="http://www.eclipse.org/emf/cdo/dawn/2010/GenModel">
+ <emfFragmentgenerator fragmentName="org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn" dawnEditorClassName="DawnAcoreEditor">
+ <emfGenModel href="acore.genmodel#/"/>
+ </emfFragmentgenerator>
+ <gmfFragmentgenerator fragmentName="org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn" dawnEditorClassName="DawnAcoreDiagramEditor" dawnDocumentProviderClassName="DawnAcoreDocumentProvider" dawnEditorUtilClassName="DawnAcoreDiagramEditorUtil" dawnCreationWizardClassName="DawnAcoreCreationWizard" dawnCanonicalEditingPolicyClassName="DawnACoreRootCanonicalEditPolicy" dawnDiagramEditPartClassName="DawnACoreRootEditPart" dawnEditPartFactoryClassName="DawnAcoreEditPartFactory" dawnEditPartProviderClassName="DawnAcoreEditPartProvider" dawnEditPolicyProviderClassName="DawnAcoreEditPolicyProvider">
+ <GMFGenEditorGenerator href="acore.gmfgen#/"/>
+ </gmfFragmentgenerator>
+</dawngenmodel:DawnGenerator>
diff --git a/plugins/org.eclipse.emf.cdo.dawn/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn/META-INF/MANIFEST.MF
index f287fda2e8..d40f608090 100644
--- a/plugins/org.eclipse.emf.cdo.dawn/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.dawn/META-INF/MANIFEST.MF
@@ -37,6 +37,7 @@ Export-Package: org.eclipse.emf.cdo.dawn;version="1.0.0",
org.eclipse.emf.cdo.dawn.handlers;version="1.0.0";x-internal:=true,
org.eclipse.emf.cdo.dawn.helper;version="1.0.0",
org.eclipse.emf.cdo.dawn.notifications;version="1.0.0",
+ org.eclipse.emf.cdo.dawn.notifications.impl;version="1.0.0";x-internal:=true,
org.eclipse.emf.cdo.dawn.preferences;version="1.0.0",
org.eclipse.emf.cdo.dawn.resources;version="1.0.0",
org.eclipse.emf.cdo.dawn.resources.impl;version="1.0.0",
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnEMFEditorSupport.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnEMFEditorSupport.java
index 97d50216e7..c954140a55 100644
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnEMFEditorSupport.java
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnEMFEditorSupport.java
@@ -11,8 +11,10 @@
package org.eclipse.emf.cdo.dawn.editors.impl;
import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
-import org.eclipse.emf.cdo.dawn.notifications.DawnNotificationUtil;
+import org.eclipse.emf.cdo.dawn.notifications.BasicDawnListener;
+import org.eclipse.emf.cdo.dawn.notifications.impl.DawnEMFHandler;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.view.CDOAdapterPolicy;
import org.eclipse.emf.cdo.view.CDOView;
import org.eclipse.emf.common.ui.viewer.IViewerProvider;
@@ -39,8 +41,15 @@ public class DawnEMFEditorSupport extends DawnAbstractEditorSupport
public void registerListeners()
{
- // DawnNotificationUtil.registerTransactionListeners((CDOTransaction)getView(), getEditor());
- DawnNotificationUtil.setChangeSubscriptionPolicy((CDOTransaction)getView());
+ BasicDawnListener listener = new DawnEMFHandler(getEditor());
+ CDOView view = getView();
+ view.addListener(listener);
+
+ if (view instanceof CDOTransaction)
+ {
+ CDOTransaction transaction = (CDOTransaction)view;
+ transaction.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.CDO);
+ }
}
@Override
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnGMFEditorSupport.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnGMFEditorSupport.java
index 4356da65d1..c556eebc9b 100644
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnGMFEditorSupport.java
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/editors/impl/DawnGMFEditorSupport.java
@@ -12,9 +12,11 @@ package org.eclipse.emf.cdo.dawn.editors.impl;
import org.eclipse.emf.cdo.dawn.appearance.DawnAppearancer;
import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
-import org.eclipse.emf.cdo.dawn.notifications.DawnNotificationUtil;
+import org.eclipse.emf.cdo.dawn.notifications.BasicDawnListener;
+import org.eclipse.emf.cdo.dawn.notifications.impl.DawnGMFHandler;
import org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.view.CDOAdapterPolicy;
import org.eclipse.emf.cdo.view.CDOView;
import org.eclipse.emf.transaction.RecordingCommand;
@@ -43,9 +45,16 @@ public class DawnGMFEditorSupport extends DawnAbstractEditorSupport
public void registerListeners()
{
- // DawnNotificationUtil.registerResourceListeners(getEditingDomain().getResourceSet(), this);
- DawnNotificationUtil.registerTransactionListeners((CDOTransaction)getView(), getEditor());
- DawnNotificationUtil.setChangeSubscriptionPolicy((CDOTransaction)getView());
+ BasicDawnListener listener = new DawnGMFHandler(getEditor());
+ CDOView view = getView();
+ view.addListener(listener);
+
+ if (view instanceof CDOTransaction)
+ {
+ CDOTransaction transaction = (CDOTransaction)view;
+ transaction.addTransactionHandler(listener);
+ transaction.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.CDO);
+ }
}
/**
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
deleted file mode 100644
index 6118276736..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/AbstractDawnResoureChangeListener.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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
index fabf72ef9a..f4bb0d7c5c 100644
--- 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
@@ -11,43 +11,45 @@
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.common.revision.delta.CDOFeatureDelta;
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+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.CDOTransactionConflictEvent;
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.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-
-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;
+import org.eclipse.net4j.util.om.trace.ContextTracer;
/**
* @author Martin Fluegge
*/
-public class BasicDawnListener implements IListener
+public abstract class BasicDawnListener implements IDawnListener// implements IListener
{
- protected DiagramDocumentEditor editor;
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, BasicDawnListener.class);
+
+ protected IDawnEditor editor;
- public void setEditor(DiagramDocumentEditor editor)
+ /**
+ * @since 1.0
+ */
+ public void setEditor(IDawnEditor editor)
{
this.editor = editor;
}
+ /**
+ * @since 1.0
+ */
public BasicDawnListener()
{
}
- public BasicDawnListener(DiagramDocumentEditor editor)
+ /**
+ * @since 1.0
+ */
+ public BasicDawnListener(IDawnEditor editor)
{
this.editor = editor;
}
@@ -56,78 +58,78 @@ public class BasicDawnListener implements IListener
{
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);
- }
+ handleViewInvalidationEvent((CDOViewInvalidationEvent)event);
}
- else
+ else if (event instanceof CDOTransactionConflictEvent)
{
- System.out.println("Unhandeled Event: " + event);
+ handleTransactionConflictEvent((CDOTransactionConflictEvent)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.
+ * @since 1.0
*/
- public static void adjustDeletedEdges(final CDOViewInvalidationEvent e)
+ public void attachingObject(CDOTransaction transaction, CDOObject object)
{
- Display.getDefault().asyncExec(new Runnable()
+ if (TRACER.isEnabled())
{
- public void run()
- {
- for (CDOObject obj : e.getDetachedObjects())
- {
- final EObject view = CDOUtil.getEObject(obj);
- if (view instanceof Edge)
- {
- EditingDomain editingDomain = ((IEditingDomainProvider)view.eResource().getResourceSet())
- .getEditingDomain();
- editingDomain.getCommandStack().execute(new RecordingCommand((TransactionalEditingDomain)editingDomain)
- {
- @Override
- protected void doExecute()
- {
- try
- {
- ((Edge)view).setTarget(null);
- }
- catch (InvalidObjectException ignore)
- {
- }
-
- try
- {
- ((Edge)view).setSource(null);
- }
- catch (InvalidObjectException ignore)
- {
- }
- }
- });
- }
- }
- }
- });
+ TRACER.format("attachingObject {0}", object); //$NON-NLS-1$
+ }
+ editor.setDirty();
}
- protected void handleConflicts(CDOViewInvalidationEvent e)
+ /**
+ * @since 1.0
+ */
+ public void detachingObject(CDOTransaction transaction, CDOObject object)
{
- for (CDOObject obj : e.getDetachedObjects())
+ if (TRACER.isEnabled())
{
- EObject element = CDOUtil.getEObject(obj);
- View view = DawnDiagramUpdater.findViewByContainer(element);
- DawnConflictHelper.handleConflictedView(CDOUtil.getCDOObject(element), view, editor);
+ TRACER.format("detachingObject {0}", object); //$NON-NLS-1$
}
+
+ editor.setDirty();
+ }
+
+ /**
+ * @since 1.0
+ */
+ public void modifyingObject(CDOTransaction transaction, CDOObject object, CDOFeatureDelta featureDelta)
+ { // This method can be overwritten be subclasses
+ }
+
+ /**
+ * @since 1.0
+ */
+ public void committingTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
+ { // This method can be overwritten be subclasses
+ }
+
+ /**
+ * @since 1.0
+ */
+ public void committedTransaction(CDOTransaction transaction, CDOCommitContext commitContext)
+ { // This method can be overwritten be subclasses
+ }
+
+ /**
+ * @since 1.0
+ */
+ public void rolledBackTransaction(CDOTransaction transaction)
+ { // This method can be overwritten be subclasses
+ }
+
+ /**
+ * @since 1.0
+ */
+ public void handleViewInvalidationEvent(CDOViewInvalidationEvent event)
+ { // This method can be overwritten be subclasses
+ }
+
+ /**
+ * @since 1.0
+ */
+ public void handleTransactionConflictEvent(CDOTransactionConflictEvent event)
+ { // This method can be overwritten be subclasses
}
}
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
deleted file mode 100644
index 483d0302f7..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnElementChangeListener.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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
deleted file mode 100644
index a1099fb53f..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFSessionListener.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.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
deleted file mode 100644
index 0d80149062..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnGMFTransactionListener.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * 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
deleted file mode 100644
index f7c7b508ce..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnLocalResoureChangeListener.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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.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
deleted file mode 100644
index 174e2776f1..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationRegistry.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * 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.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
deleted file mode 100644
index fae024eb67..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnNotificationUtil.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.editors.IDawnEditor;
-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, IDawnEditor 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
deleted file mode 100644
index 6654691408..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnResoureChangeListener.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * 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
deleted file mode 100644
index 709f32734d..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnSimpleGMFTransactionListener.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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
deleted file mode 100644
index ce6c04ff0a..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionChangeRecorderRemover.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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
- */
-@Deprecated
-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
deleted file mode 100644
index f1493c8a62..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/DawnTransactionHandler.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/**
- * 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.editors.IDawnEditor;
-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 IDawnEditor editor;
-
- public DawnTransactionHandler(IDawnEditor 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/notifications/IDawnListener.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/IDawnListener.java
new file mode 100644
index 0000000000..828d9f130c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/IDawnListener.java
@@ -0,0 +1,28 @@
+/**
+ * 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.transaction.CDOTransactionConflictEvent;
+import org.eclipse.emf.cdo.transaction.CDOTransactionHandler;
+import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent;
+
+import org.eclipse.net4j.util.event.IListener;
+
+/**
+ * @author Martin Fluegge
+ * @since 1.0
+ */
+public interface IDawnListener extends CDOTransactionHandler, IListener
+{
+ public void handleViewInvalidationEvent(CDOViewInvalidationEvent event);
+
+ public void handleTransactionConflictEvent(CDOTransactionConflictEvent event);
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/impl/DawnEMFHandler.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/impl/DawnEMFHandler.java
new file mode 100644
index 0000000000..5b7f08c45c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/impl/DawnEMFHandler.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * 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.impl;
+
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+import org.eclipse.emf.cdo.dawn.notifications.BasicDawnListener;
+import org.eclipse.emf.cdo.transaction.CDOTransactionConflictEvent;
+import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnEMFHandler extends BasicDawnListener
+{
+ /**
+ * @since 1.0
+ */
+ public DawnEMFHandler(IDawnEditor editor)
+ {
+ super(editor);
+ }
+
+ @Override
+ public void handleTransactionConflictEvent(CDOTransactionConflictEvent event)
+ {
+ super.handleTransactionConflictEvent(event);
+ refreshEditor();
+ }
+
+ @Override
+ public void handleViewInvalidationEvent(CDOViewInvalidationEvent event)
+ {
+ super.handleViewInvalidationEvent(event);
+ refreshEditor();
+ }
+
+ private void refreshEditor()
+ {
+ editor.getSite().getShell().getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ ((IViewerProvider)editor).getViewer().refresh();
+ }
+ });
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/impl/DawnGMFHandler.java b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/impl/DawnGMFHandler.java
new file mode 100644
index 0000000000..d799e622ec
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.dawn/src/org/eclipse/emf/cdo/dawn/notifications/impl/DawnGMFHandler.java
@@ -0,0 +1,282 @@
+/*******************************************************************************
+ * 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.impl;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDelta;
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+import org.eclipse.emf.cdo.dawn.notifications.BasicDawnListener;
+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.transaction.CDOTransactionConflictEvent;
+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.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.emf.ecore.EObject;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor;
+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 DawnGMFHandler extends BasicDawnListener
+{
+
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnGMFHandler.class);
+
+ /**
+ * @since 1.0
+ */
+ public DawnGMFHandler(IDawnEditor editor)
+ {
+ super(editor);
+ }
+
+ /**
+ * @since 1.0
+ */
+ @Override
+ public void handleViewInvalidationEvent(CDOViewInvalidationEvent event)
+ {
+ CDOViewInvalidationEvent e = 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);
+ }
+ }
+
+ /**
+ * @since 1.0
+ */
+ @Override
+ public void handleTransactionConflictEvent(CDOTransactionConflictEvent event)
+ {
+ 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, (DiagramDocumentEditor)editor);
+ return;
+ }
+ }
+
+ @Override
+ 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;
+ }
+ });
+ }
+
+ /**
+ * @since 1.0
+ */
+ @Override
+ public void attachingObject(CDOTransaction transaction, CDOObject object)
+ {
+ super.attachingObject(transaction, object);
+ refresh(object);
+ }
+
+ /**
+ * 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 void adjustDeletedEdges(final CDOViewInvalidationEvent e)
+ {
+ Display.getDefault().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ for (CDOObject obj : e.getDetachedObjects())
+ {
+ final EObject view = CDOUtil.getEObject(obj);
+ if (view instanceof Edge)
+ {
+ EditingDomain editingDomain = ((IEditingDomainProvider)view.eResource().getResourceSet())
+ .getEditingDomain();
+ editingDomain.getCommandStack().execute(new RecordingCommand((TransactionalEditingDomain)editingDomain)
+ {
+ @Override
+ protected void doExecute()
+ {
+ 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, (DiagramDocumentEditor)editor);
+ }
+ }
+
+ 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, ((DiagramEditor)editor).getDiagramEditPart()
+ .getViewer());
+ if (relatedEditPart != null)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Updating EditPart {0} ", relatedEditPart); //$NON-NLS-1$
+ }
+ DawnDiagramUpdater.refreshEditPart(relatedEditPart.getParent(), (DiagramDocumentEditor)editor);
+ }
+ else
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Updating DiagramEditPart {0} ", ((DiagramEditor)editor).getDiagramEditPart()); //$NON-NLS-1$
+ }
+ DawnDiagramUpdater.refreshEditPart(((DiagramEditor)editor).getDiagramEditPart(), (DiagramDocumentEditor)editor);
+ }
+ }
+
+ protected 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());
+ }
+ }
+}

Back to the top