diff options
18 files changed, 582 insertions, 235 deletions
diff --git a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferences.png b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferences.png Binary files differindex a3796931ef1..73c2313dcbb 100644 --- a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferences.png +++ b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferences.png diff --git a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferencesForModel.png b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferencesForModel.png Binary files differnew file mode 100644 index 00000000000..a3796931ef1 --- /dev/null +++ b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferencesForModel.png diff --git a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/internationalizationDev.mediawiki b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/internationalizationDev.mediawiki index 81b3deda1c7..9bbaab7b18f 100644 --- a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/internationalizationDev.mediawiki +++ b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/internationalizationDev.mediawiki @@ -134,6 +134,7 @@ The <code>UMLLabelInternationalization</code> class contains following needed me |} == Internationalization preferences == +===Preferences for internationalization usability=== Two preferences are managed in the Papyrus model: * useInternationalization: Boolean to determinate if the internationalization must be used * language: String to define the selected language for the internationalization @@ -144,13 +145,23 @@ The preferences are stored as EAnnotation: * in the metadata in this is not a private storage -[[Image:images/InternationalizationPreferences.png|frame|none|Internationalization preferences management]] +[[Image:images/InternationalizationPreferencesForModel.png|frame|none|Internationalization model preferences management]] Those preferences are managed in a <code>PreferenceStore</code> in the activator of org.eclipse.papyrus.infra.internationalization.common plugin. The <code>PapyrusProjectScope</code> allows to manage the preferences for the Eclipse project with Papyrus model name. +===Preferences for internationalization activation=== +Two preferences are managed for the internationalization activation: +* Load internationalization files for model +* Load internationalization of external files (profiles, imported packages) + +[[Image:images/InternationalizationPreferences.png|frame|none|Internationalization preferences management]] + +Thoses preferences are stored in the <code>PreferenceStore</code> in the activator of org.eclipse.papyrus.infra.internationalization.common plugin and are managed by the org.eclipse.papyrus.infra.internationalization.common plugin. + + == Control mode == The sub-models are managed with the properties files. Indeed, when an object is created as sub-model, the key representing this object or its descendance in the properties files must be moved in sub-properties files corresponding to the controlled object. diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/model/general/ui/SingleInternationalization.xwt b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/model/general/ui/SingleInternationalization.xwt index 66a074b448a..55f35e37876 100644 --- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/model/general/ui/SingleInternationalization.xwt +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/model/general/ui/SingleInternationalization.xwt @@ -8,10 +8,10 @@ <Composite.layout> <ppel:PropertiesLayout></ppel:PropertiesLayout> </Composite.layout> - <ppe:BooleanCheckbox input="{Binding}" - property="welcomeInternationalization:Internationalization:privateStorage"></ppe:BooleanCheckbox> - <ppe:BooleanCheckbox input="{Binding}" - property="welcomeInternationalization:Internationalization:useInternationalization"></ppe:BooleanCheckbox> + <ppewi:BooleanInternationalizationCheckbox input="{Binding}" + property="welcomeInternationalization:Internationalization:privateStorage"></ppewi:BooleanInternationalizationCheckbox> + <ppewi:BooleanInternationalizationCheckbox input="{Binding}" + property="welcomeInternationalization:Internationalization:useInternationalization"></ppewi:BooleanInternationalizationCheckbox> <ppewi:LanguageDialog input="{Binding}" property="welcomeInternationalization:Internationalization:language"></ppewi:LanguageDialog> </Composite>
\ No newline at end of file diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/BooleanInternationalizationCheckbox.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/BooleanInternationalizationCheckbox.java new file mode 100644 index 00000000000..8da22853ae1 --- /dev/null +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/BooleanInternationalizationCheckbox.java @@ -0,0 +1,56 @@ +/***************************************************************************** + * Copyright (c) 2017 CEA LIST 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: + * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets; + +import org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets.editors.BooleanInternationalizationChecbox; +import org.eclipse.papyrus.infra.properties.ui.widgets.AbstractPropertyEditor; +import org.eclipse.swt.widgets.Composite; + +/** + * The boolean internationalization checkbox widget for the internationalization. + */ +public class BooleanInternationalizationCheckbox extends AbstractPropertyEditor { + + /** + * The Boolean internationalization checkbox widget. + */ + protected BooleanInternationalizationChecbox editor; + + /** + * Constructor. + * + * @param parent + * The composite in which the widget will be displayed. + * @param style + * The style for the widget. + */ + public BooleanInternationalizationCheckbox(final Composite parent, final int style) { + setEditor(createLanguageDialogEditor(parent, style)); + } + + /** + * Creates the boolean internationalization checkbox. + * + * @param parent + * The composite in which the widget will be displayed. + * @param style + * The style for the widget. + * @return The boolean internationalization checkbox. + */ + protected org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets.editors.BooleanInternationalizationChecbox createLanguageDialogEditor( + final Composite parent, final int style) { + return editor = new org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets.editors.BooleanInternationalizationChecbox(parent, style); + } + +} diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/BooleanInternationalizationChecbox.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/BooleanInternationalizationChecbox.java new file mode 100644 index 00000000000..9ec7745539e --- /dev/null +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/BooleanInternationalizationChecbox.java @@ -0,0 +1,47 @@ +/***************************************************************************** + * Copyright (c) 2017 CEA LIST 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: + * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets.editors; + +import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils; +import org.eclipse.papyrus.infra.widgets.editors.BooleanCheckbox; +import org.eclipse.swt.widgets.Composite; + +/** + * This allows to define the boolean checkbox that will be read only if the internationalization load preference is not enabled. + */ +public class BooleanInternationalizationChecbox extends BooleanCheckbox { + + /** + * Constructor. + * + * @param parent + * The composite in which the widget will be displayed. + * @param style + * The style for the widget. + * + */ + public BooleanInternationalizationChecbox(final Composite parent, final int style) { + super(parent, style); + } + + /** + * @see org.eclipse.papyrus.infra.widgets.editors.BooleanCheckbox#setReadOnly(boolean) + * + * @param readOnly + */ + @Override + public void setReadOnly(boolean readOnly) { + super.setReadOnly(readOnly || !InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()); + } +} diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/LanguageDialog.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/LanguageDialog.java index c5a7a4820c7..fe3fbcfaf58 100644 --- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/LanguageDialog.java +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/LanguageDialog.java @@ -226,7 +226,7 @@ public class LanguageDialog extends AbstractValueEditor implements SelectionList */ @Override public void setReadOnly(final boolean readOnly) { - this.readOnly = readOnly; + this.readOnly = readOnly || !InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded(); updateControls(); } diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/plugin.xml b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/plugin.xml index 7ac51d15095..f937b1e2677 100644 --- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/plugin.xml +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/plugin.xml @@ -5,5 +5,11 @@ --> <plugin> + <extension + point="org.eclipse.core.runtime.preferences"> + <initializer + class="org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesInitializer"> + </initializer> + </extension> </plugin> diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesConstants.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesConstants.java index b7bf90ed5c0..4240fdb222d 100644 --- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesConstants.java +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesConstants.java @@ -38,4 +38,14 @@ public class InternationalizationPreferencesConstants { */ public static final String LANGUAGE_PREFERENCE = "language"; //$NON-NLS-1$ + /** + * The preference constant to determinate if the internationalization must be used or not. + */ + public static final String LOAD_INTERNATIONALIZATION = "loadInternationalization"; //$NON-NLS-1$ + + /** + * The preference constant to determinate if the internationalization of the external files must be used or not. + */ + public static final String LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES = "loadInternationalizationofExternalFiles"; //$NON-NLS-1$ + } diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesInitializer.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesInitializer.java new file mode 100644 index 00000000000..4cf7af242cc --- /dev/null +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesInitializer.java @@ -0,0 +1,53 @@ +/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST 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:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.internationalization.common.utils;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.infra.internationalization.common.Activator;
+
+/**
+ * The internationalization preference initializer.
+ */
+public class InternationalizationPreferencesInitializer extends AbstractPreferenceInitializer {
+
+ /**
+ * Constructor.
+ */
+ public InternationalizationPreferencesInitializer() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
+ */
+ @Override
+ public void initializeDefaultPreferences() {
+ IPreferenceStore store = getPreferenceStore();
+ store.setDefault(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION, true);
+ store.setDefault(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES, false);
+ }
+
+ /**
+ * Get the preference store.
+ *
+ * @return The preference store.
+ */
+ protected IPreferenceStore getPreferenceStore() {
+ return Activator.getDefault().getPreferenceStore();
+ }
+
+}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesUtils.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesUtils.java index 5d3157c71b8..14bbe347097 100644 --- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesUtils.java +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesUtils.java @@ -34,6 +34,43 @@ import org.eclipse.papyrus.infra.internationalization.common.Activator; * change the internationalization preference value. */ public class InternationalizationPreferencesUtils { + + /** + * This allows to get the load of internationalization preference value. + * + * @return <code>true</code> if the internationalization need to be loaded, <code>false</code> otherwise. + */ + public static boolean isInternationalizationNeedToBeLoaded() { + boolean result = false; + + IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore(); + if(null != preferenceStore) { + if(preferenceStore.contains(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION)) { + result = preferenceStore.getBoolean(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION); + } + } + + return result; + } + + /** + * This allows to get the load of internationalization of external files preference value. + * + * @return <code>true</code> if the internationalization of external files need to be loaded, <code>false</code> otherwise. + */ + public static boolean isInternationalizationExternalFilesNeedToBeLoaded() { + boolean result = false; + + IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore(); + if(null != preferenceStore) { + if(preferenceStore.contains(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES)) { + result = preferenceStore.getBoolean(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES); + } + } + + return result; + } + /** * Get the preference store for the project containing the {@link EObject} diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/plugin.xml b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/plugin.xml index 490fd5dec9a..f76f93e9eab 100644 --- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/plugin.xml +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/plugin.xml @@ -19,5 +19,14 @@ </state--> </command> </extension> + <extension + point="org.eclipse.ui.preferencePages"> + <page + category="org.eclipse.papyrus.infra.core.sasheditor.preferences.generalcategory" + class="org.eclipse.papyrus.infra.internationalization.ui.preferences.pages.InternationalizationPreferencePage" + id="org.eclipse.papyrus.infra.internationalization.ui.internationalizationPreferencePage" + name="Internationalization"> + </page> + </extension> </plugin> diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/dialogs/InternationalizationDialog.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/dialogs/InternationalizationDialog.java index 0d99705fd8d..e8b825cb325 100644 --- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/dialogs/InternationalizationDialog.java +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/dialogs/InternationalizationDialog.java @@ -30,6 +30,7 @@ import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils; +import org.eclipse.papyrus.infra.internationalization.ui.messages.Messages; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -149,7 +150,7 @@ public class InternationalizationDialog extends TrayDialog { */ protected void createUseInternationalization(final Composite parent) { useInternationalizationButton = new Button(parent, SWT.CHECK); - useInternationalizationButton.setText("Use internationalization"); + useInternationalizationButton.setText(Messages.InternationalizationDialog_UseInternationalizationLabel); } /** diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/Messages.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/Messages.java new file mode 100644 index 00000000000..da9610e02f3 --- /dev/null +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/Messages.java @@ -0,0 +1,31 @@ +/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST 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:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.internationalization.ui.messages;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.papyrus.infra.internationalization.ui.messages.messages"; //$NON-NLS-1$
+ public static String InternationalizationDialog_UseInternationalizationLabel;
+ public static String InternationalizationPreferencePage_LoadInternationalizationFieldName;
+ public static String InternationalizationPreferencePage_LoadInternationalizationOfExternalFilesFieldName;
+ public static String InternationalizationPreferencePage_Title;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/messages.properties b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/messages.properties new file mode 100644 index 00000000000..2d968ad0659 --- /dev/null +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/messages.properties @@ -0,0 +1,4 @@ +InternationalizationDialog_UseInternationalizationLabel=Use internationalization
+InternationalizationPreferencePage_LoadInternationalizationFieldName=Load internationalization files (needs a reload of models).
+InternationalizationPreferencePage_LoadInternationalizationOfExternalFilesFieldName=Load internationalization of external files (profiles, imported packages, ...) (needs a reload of models).
+InternationalizationPreferencePage_Title=Internationalization Preferences
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/preferences/pages/InternationalizationPreferencePage.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/preferences/pages/InternationalizationPreferencePage.java new file mode 100644 index 00000000000..13062557c29 --- /dev/null +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/preferences/pages/InternationalizationPreferencePage.java @@ -0,0 +1,61 @@ +/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST 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:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.internationalization.ui.preferences.pages;
+
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.papyrus.infra.internationalization.common.Activator;
+import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesConstants;
+import org.eclipse.papyrus.infra.internationalization.ui.messages.Messages;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+/**
+ * The internationalization preference page.
+ */
+public class InternationalizationPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+ /**
+ * Constructor.
+ */
+ public InternationalizationPreferencePage() {
+ super(GRID);
+ setPreferenceStore(Activator.getDefault().getPreferenceStore());
+ setDescription(Messages.InternationalizationPreferencePage_Title);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ @Override
+ public void init(final IWorkbench workbench) {
+ // Nothing
+ }
+
+ /**
+ * Creates the field editors.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
+ */
+ @Override
+ public void createFieldEditors() {
+ addField(new BooleanFieldEditor(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION, Messages.InternationalizationPreferencePage_LoadInternationalizationFieldName, getFieldEditorParent()));
+ addField(
+ new BooleanFieldEditor(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES, Messages.InternationalizationPreferencePage_LoadInternationalizationOfExternalFilesFieldName, getFieldEditorParent()));
+ }
+
+}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization/src/org/eclipse/papyrus/infra/internationalization/modelresource/InternationalizationModelResource.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization/src/org/eclipse/papyrus/infra/internationalization/modelresource/InternationalizationModelResource.java index f0f1233758d..562383f826b 100644 --- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization/src/org/eclipse/papyrus/infra/internationalization/modelresource/InternationalizationModelResource.java +++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization/src/org/eclipse/papyrus/infra/internationalization/modelresource/InternationalizationModelResource.java @@ -144,20 +144,22 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe super(); propertiesByLocale = new HashMap<URI, Map<Locale, Resource>>(); - Activator.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() { - - @Override - public void propertyChange(final PropertyChangeEvent event) { - if (event.getProperty().equals(InternationalizationPreferencesConstants.LANGUAGE_PREFERENCE)) { - Iterator<Resource> resourcesIterator = new HashSet<Resource>(getResources()).iterator(); - while (resourcesIterator.hasNext()) { - final Resource resource = resourcesIterator.next(); - loadModel(getInitialURIForResource(resource).trimFileExtension()); + if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) { + Activator.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() { + + @Override + public void propertyChange(final PropertyChangeEvent event) { + if (event.getProperty().equals(InternationalizationPreferencesConstants.LANGUAGE_PREFERENCE)) { + Iterator<Resource> resourcesIterator = new HashSet<Resource>(getResources()).iterator(); + while (resourcesIterator.hasNext()) { + final Resource resource = resourcesIterator.next(); + loadModel(getInitialURIForResource(resource).trimFileExtension()); + } } } - } - - }); + + }); + } deletedObjects = new HashSet<EObject>(); adapters = new HashMap<EObject, Adapter>(); } @@ -203,35 +205,37 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe * have to bo loaded or not. */ public void loadModel(final URI uriWithoutExtension, final boolean needToLoadOtherProperties) { - // Compute model URI - final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension()); - - if (needToBeLoaded(uri)) { - - resourceURI = uri; - - final Locale locale = InternationalizationPreferencesUtils.getLocalePreference(uriWithoutExtension); - - try { - - resource = loadResource(uri, locale); - - // We need to do even if the resource is null - if (needToLoadOtherProperties) { - resourceURI = uri; - - String existingResourceLoadedName = ""; - if (null != resource) { - existingResourceLoadedName = resource.getURI().lastSegment(); + if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) { + // Compute model URI + final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension()); + + if (needToBeLoaded(uri)) { + + resourceURI = uri; + + final Locale locale = InternationalizationPreferencesUtils.getLocalePreference(uriWithoutExtension); + + try { + + resource = loadResource(uri, locale); + + // We need to do even if the resource is null + if (needToLoadOtherProperties) { + resourceURI = uri; + + String existingResourceLoadedName = ""; + if (null != resource) { + existingResourceLoadedName = resource.getURI().lastSegment(); + } + + // We need to load other properties files in the same + // folders + loadOthersPropertiesFiles(uri, existingResourceLoadedName); } - - // We need to load other properties files in the same - // folders - loadOthersPropertiesFiles(uri, existingResourceLoadedName); + + } catch (final Exception ex) { + Activator.log.error(ex); } - - } catch (final Exception ex) { - Activator.log.error(ex); } } } @@ -372,14 +376,16 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe configureResource(uri, resource, locale); - // call registered snippets - startSnippets(); + if(InternationalizationPreferencesUtils.isInternationalizationExternalFilesNeedToBeLoaded()) { + // call registered snippets + startSnippets(); + } } // Load the resource if not already loaded if (!resource.isLoaded()) { // If this is a read-only resource, create a fake resource to get the internationalization content and read the needed entries - if (modelSet.getTransactionalEditingDomain().isReadOnly(resource)) { + if (InternationalizationPreferencesUtils.isInternationalizationExternalFilesNeedToBeLoaded() && modelSet.getTransactionalEditingDomain().isReadOnly(resource)) { // Unload the resource and remove the created resource from the map and from the resource set unload(resource); @@ -428,7 +434,7 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe } loadInternationalizationContent(uri, locale); - } else { + } else if(InternationalizationPreferencesUtils.isInternationalizationExternalFilesNeedToBeLoaded()) { // call registered snippets startSnippets(); } @@ -443,24 +449,26 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe */ @Override public void createModel(final URI uriWithoutExtension) { - super.createModel(uriWithoutExtension); - - final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension()); - final Locale locale = InternationalizationPreferencesUtils.getLocalePreference(this.resource.getURI()); - final Resource resource = this.resource; - - // Fill the properties by locale map - configureResource(resourceURI, resource, locale); - - // Calculate the internationalization content - loadInternationalizationContent(uri, locale); - - resource.setModified(true); - - try { - saveResource(resource); - } catch (final IOException e) { - Activator.log.error(e); + if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) { + super.createModel(uriWithoutExtension); + + final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension()); + final Locale locale = InternationalizationPreferencesUtils.getLocalePreference(this.resource.getURI()); + final Resource resource = this.resource; + + // Fill the properties by locale map + configureResource(resourceURI, resource, locale); + + // Calculate the internationalization content + loadInternationalizationContent(uri, locale); + + resource.setModified(true); + + try { + saveResource(resource); + } catch (final IOException e) { + Activator.log.error(e); + } } } @@ -881,108 +889,111 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe final Locale locale) { Command resultCommand = null; - // Get the resource where add/modify the entry corresponding to the key - Resource resource = getResourceForURIAndLocale(uri, locale); - if (null == resource) { - resource = getResourceForURIAndLocale(uri, new Locale("")); //$NON-NLS-1$ - } - - final InternationalizationLibrary library = getModelRoot(resource); - - if (null != library) { - final Iterator<InternationalizationEntry> entries = library.getEntries().iterator(); - - // Search on existing entries if the key already exists. - // In this case, just modify the value - while (entries.hasNext() && null == resultCommand) { - final InternationalizationEntry entry = entries.next(); - if (entry.getKey().equals(key)) { - if (null == value || value.isEmpty()) { - // If the value is null or empty, remove the entry - resultCommand = new CompoundCommand("Remove entry"); //$NON-NLS-1$ - ((CompoundCommand) resultCommand).append(new RemoveCommand(domain, library, - InternationalizationPackage.eINSTANCE.getInternationalizationLibrary_Entries(), entry)); - if (entry.getKey() instanceof EObject) { - Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey()); - if (null != setNameValueCommand) { - ((CompoundCommand) resultCommand).append(setNameValueCommand); + if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) { + + // Get the resource where add/modify the entry corresponding to the key + Resource resource = getResourceForURIAndLocale(uri, locale); + if (null == resource) { + resource = getResourceForURIAndLocale(uri, new Locale("")); //$NON-NLS-1$ + } + + final InternationalizationLibrary library = getModelRoot(resource); + + if (null != library) { + final Iterator<InternationalizationEntry> entries = library.getEntries().iterator(); + + // Search on existing entries if the key already exists. + // In this case, just modify the value + while (entries.hasNext() && null == resultCommand) { + final InternationalizationEntry entry = entries.next(); + if (entry.getKey().equals(key)) { + if (null == value || value.isEmpty()) { + // If the value is null or empty, remove the entry + resultCommand = new CompoundCommand("Remove entry"); //$NON-NLS-1$ + ((CompoundCommand) resultCommand).append(new RemoveCommand(domain, library, + InternationalizationPackage.eINSTANCE.getInternationalizationLibrary_Entries(), entry)); + if (entry.getKey() instanceof EObject) { + Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey()); + if (null != setNameValueCommand) { + ((CompoundCommand) resultCommand).append(setNameValueCommand); + } } - } - resource.setModified(true); - } else { - resultCommand = new CompoundCommand("Set entry value"); //$NON-NLS-1$ - ((CompoundCommand) resultCommand).append(new SetCommand(domain, entry, - InternationalizationPackage.eINSTANCE.getInternationalizationEntry_Value(), value)); - if (entry.getKey() instanceof EObject) { - Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey()); - if (null != setNameValueCommand) { - ((CompoundCommand) resultCommand).append(setNameValueCommand); + resource.setModified(true); + } else { + resultCommand = new CompoundCommand("Set entry value"); //$NON-NLS-1$ + ((CompoundCommand) resultCommand).append(new SetCommand(domain, entry, + InternationalizationPackage.eINSTANCE.getInternationalizationEntry_Value(), value)); + if (entry.getKey() instanceof EObject) { + Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey()); + if (null != setNameValueCommand) { + ((CompoundCommand) resultCommand).append(setNameValueCommand); + } } + resource.setModified(true); } - resource.setModified(true); } } } - } - - // If the key does not exist, create an entry - if (null == resultCommand && null != value && !value.isEmpty()) { - final InternationalizationEntry entry = InternationalizationFactory.eINSTANCE - .createInternationalizationEntry(); - entry.setKey(key); - entry.setValue(value); - - if (null == resource) { - // If the resource does not exist, create it and add entry to - // the library - resultCommand = new CompoundCommand("Create entry"); //$NON-NLS-1$ - ((CompoundCommand) resultCommand).append(new CreatePropertiesResourceCommand(uri, entry, - InternationalizationPreferencesUtils.getLocalePreference(getParentEObject(key)))); - Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey()); - if (null != setNameValueCommand) { - ((CompoundCommand) resultCommand).append(setNameValueCommand); - } - } else { - resultCommand = new CompoundCommand("Create entry"); //$NON-NLS-1$ - ((CompoundCommand) resultCommand).append(new AddCommand(domain, library, - InternationalizationPackage.eINSTANCE.getInternationalizationLibrary_Entries(), entry)); - Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey()); - if (null != setNameValueCommand) { - ((CompoundCommand) resultCommand).append(setNameValueCommand); + + // If the key does not exist, create an entry + if (null == resultCommand && null != value && !value.isEmpty()) { + final InternationalizationEntry entry = InternationalizationFactory.eINSTANCE + .createInternationalizationEntry(); + entry.setKey(key); + entry.setValue(value); + + if (null == resource) { + // If the resource does not exist, create it and add entry to + // the library + resultCommand = new CompoundCommand("Create entry"); //$NON-NLS-1$ + ((CompoundCommand) resultCommand).append(new CreatePropertiesResourceCommand(uri, entry, + InternationalizationPreferencesUtils.getLocalePreference(getParentEObject(key)))); + Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey()); + if (null != setNameValueCommand) { + ((CompoundCommand) resultCommand).append(setNameValueCommand); + } + } else { + resultCommand = new CompoundCommand("Create entry"); //$NON-NLS-1$ + ((CompoundCommand) resultCommand).append(new AddCommand(domain, library, + InternationalizationPackage.eINSTANCE.getInternationalizationLibrary_Entries(), entry)); + Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey()); + if (null != setNameValueCommand) { + ((CompoundCommand) resultCommand).append(setNameValueCommand); + } + resource.setModified(true); } - resource.setModified(true); - } - - // If the created entry is an entry corresponding to an object who's - // depending to Editor part, we need to create the - // PartLabelSynchronizer - if (null != editorPartByEObject && editorPartByEObject.containsKey(key)) { - if (null != resultCommand) { - final Command tmpCommand = resultCommand; - resultCommand = new CompoundCommand("Change label value"); //$NON-NLS-1$ - ((CompoundCommand) resultCommand).append(tmpCommand); - ((CompoundCommand) resultCommand).append(new AbstractCommand() { - - @Override - public void execute() { - addPartLabelSynchronizerForEntry(key, entry); - } - - @Override - protected boolean prepare() { - return true; - } - - @Override - public void undo() { - // Do nothing - } - - @Override - public void redo() { - // Do nothing - } - }); + + // If the created entry is an entry corresponding to an object who's + // depending to Editor part, we need to create the + // PartLabelSynchronizer + if (null != editorPartByEObject && editorPartByEObject.containsKey(key)) { + if (null != resultCommand) { + final Command tmpCommand = resultCommand; + resultCommand = new CompoundCommand("Change label value"); //$NON-NLS-1$ + ((CompoundCommand) resultCommand).append(tmpCommand); + ((CompoundCommand) resultCommand).append(new AbstractCommand() { + + @Override + public void execute() { + addPartLabelSynchronizerForEntry(key, entry); + } + + @Override + protected boolean prepare() { + return true; + } + + @Override + public void undo() { + // Do nothing + } + + @Override + public void redo() { + // Do nothing + } + }); + } } } } @@ -1004,54 +1015,57 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe */ public void setValue(final URI uri, final EObject key, final String value, final Locale locale) { - // Get the resource where add/modify the entry corresponding to the key - Resource resource = getResourceForURIAndLocale(uri, locale); - if (null == resource) { - // If the resource does not exist, create it - resource = createResource(uri, - InternationalizationPreferencesUtils.getLocalePreference(getParentEObject(key))); - } - - final InternationalizationLibrary library = getModelRoot(resource); - - final Iterator<InternationalizationEntry> entries = library.getEntries().iterator(); - boolean hasFound = false; - - // Search on existing entries if the key already exists. - // In this case, just modify the value - while (entries.hasNext() && !hasFound) { - final InternationalizationEntry entry = entries.next(); - if (entry.getKey().equals(key)) { - if (null == value || value.isEmpty()) { - // If the value is null or empty, remove the entry - entries.remove(); - } else { - entry.setValue(value); - if (entry.getKey() instanceof EObject) { - setNameValue((EObject) entry.getKey()); + if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) { + + // Get the resource where add/modify the entry corresponding to the key + Resource resource = getResourceForURIAndLocale(uri, locale); + if (null == resource) { + // If the resource does not exist, create it + resource = createResource(uri, + InternationalizationPreferencesUtils.getLocalePreference(getParentEObject(key))); + } + + final InternationalizationLibrary library = getModelRoot(resource); + + final Iterator<InternationalizationEntry> entries = library.getEntries().iterator(); + boolean hasFound = false; + + // Search on existing entries if the key already exists. + // In this case, just modify the value + while (entries.hasNext() && !hasFound) { + final InternationalizationEntry entry = entries.next(); + if (entry.getKey().equals(key)) { + if (null == value || value.isEmpty()) { + // If the value is null or empty, remove the entry + entries.remove(); + } else { + entry.setValue(value); + if (entry.getKey() instanceof EObject) { + setNameValue((EObject) entry.getKey()); + } } + hasFound = true; } - hasFound = true; } - } - - // If the key does not exist, create an entry - if (!hasFound && null != value && !value.isEmpty()) { - final InternationalizationEntry entry = InternationalizationFactory.eINSTANCE - .createInternationalizationEntry(); - entry.setKey(key); - entry.setValue(value); - library.getEntries().add(entry); - setNameValue(entry); - - // If the created entry is an entry corresponding to an object who's - // depending to Editor part, we need to create the - // PartLabelSynchronizer - if (editorPartByEObject.containsKey(key)) { - addPartLabelSynchronizerForEntry(key, entry); + + // If the key does not exist, create an entry + if (!hasFound && null != value && !value.isEmpty()) { + final InternationalizationEntry entry = InternationalizationFactory.eINSTANCE + .createInternationalizationEntry(); + entry.setKey(key); + entry.setValue(value); + library.getEntries().add(entry); + setNameValue(entry); + + // If the created entry is an entry corresponding to an object who's + // depending to Editor part, we need to create the + // PartLabelSynchronizer + if (editorPartByEObject.containsKey(key)) { + addPartLabelSynchronizerForEntry(key, entry); + } } + resource.setModified(true); } - resource.setModified(true); } /** @@ -1068,26 +1082,29 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe protected Command getSetNameValueCommand(final EditingDomain domain, final EObject eObject) { Command result = null; - // Change name for diagram - if (domain instanceof TransactionalEditingDomain) { - if (eObject instanceof Diagram) { - result = new GMFtoEMFCommandWrapper(new ResetNameTransactionalCommand( - (TransactionalEditingDomain) domain, eObject, NotationPackage.eINSTANCE.getDiagram_Name())); - - // Change name for table - } else if (eObject instanceof Table) { - result = new GMFtoEMFCommandWrapper( - new ResetNameTransactionalCommand((TransactionalEditingDomain) domain, eObject, - NattableconfigurationPackage.eINSTANCE.getTableNamedElement_Name())); - } - } else { - if (eObject instanceof Diagram) { - result = new ResetNameCommand(domain, eObject, NotationPackage.eINSTANCE.getDiagram_Name()); - - // Change name for table - } else if (eObject instanceof Table) { - result = new ResetNameCommand(domain, eObject, - NattableconfigurationPackage.eINSTANCE.getTableNamedElement_Name()); + if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) { + + // Change name for diagram + if (domain instanceof TransactionalEditingDomain) { + if (eObject instanceof Diagram) { + result = new GMFtoEMFCommandWrapper(new ResetNameTransactionalCommand( + (TransactionalEditingDomain) domain, eObject, NotationPackage.eINSTANCE.getDiagram_Name())); + + // Change name for table + } else if (eObject instanceof Table) { + result = new GMFtoEMFCommandWrapper( + new ResetNameTransactionalCommand((TransactionalEditingDomain) domain, eObject, + NattableconfigurationPackage.eINSTANCE.getTableNamedElement_Name())); + } + } else { + if (eObject instanceof Diagram) { + result = new ResetNameCommand(domain, eObject, NotationPackage.eINSTANCE.getDiagram_Name()); + + // Change name for table + } else if (eObject instanceof Table) { + result = new ResetNameCommand(domain, eObject, + NattableconfigurationPackage.eINSTANCE.getTableNamedElement_Name()); + } } } diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java index 1fad054365a..02019498227 100644 --- a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java @@ -20,6 +20,7 @@ import org.eclipse.emf.transaction.TransactionalEditingDomain; import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper; import org.eclipse.papyrus.infra.internationalization.commands.ResetNameCommand; import org.eclipse.papyrus.infra.internationalization.commands.ResetNameTransactionalCommand; +import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils; import org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource; import org.eclipse.papyrus.infra.internationalization.utils.InternationalizationKeyResolver; import org.eclipse.papyrus.uml.internationalization.utils.UMLInternationalizationKeyResolver; @@ -57,17 +58,20 @@ public class UMLInternationalizationModelResource extends InternationalizationMo @Override protected Command getSetNameValueCommand(final EditingDomain domain, final EObject eObject) { Command result = null; - - // Change name for named element - if (eObject instanceof NamedElement) { - if (domain instanceof TransactionalEditingDomain) { - result = new GMFtoEMFCommandWrapper(new ResetNameTransactionalCommand( - (TransactionalEditingDomain) domain, eObject, UMLPackage.eINSTANCE.getNamedElement_Name())); + + if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) { + + // Change name for named element + if (eObject instanceof NamedElement) { + if (domain instanceof TransactionalEditingDomain) { + result = new GMFtoEMFCommandWrapper(new ResetNameTransactionalCommand( + (TransactionalEditingDomain) domain, eObject, UMLPackage.eINSTANCE.getNamedElement_Name())); + } else { + result = new ResetNameCommand(domain, eObject, UMLPackage.eINSTANCE.getNamedElement_Name()); + } } else { - result = new ResetNameCommand(domain, eObject, UMLPackage.eINSTANCE.getNamedElement_Name()); + result = super.getSetNameValueCommand(domain, eObject); } - } else { - result = super.getSetNameValueCommand(domain, eObject); } return result; |